Fork me on GitHub
不卑不亢不慌不忙

life is struggle


  • 首页

  • 分类

  • 归档

  • 标签

  • 收集

  • 关于

  • 公益404

  • 搜索

Spark优化

发表于 2017-08-20 | 分类于 笔记 | 阅读次数




注:此博客仅供博主自身复习用

Spark应用案例-Spark完成PV和UV的计算

发表于 2017-08-20 | 分类于 笔记 | 阅读次数
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
object LogPVAndUV{
def main(args:Array[String]):Unit={
val conf=new SparkConf()
.setMaster("local[*]")
.setAppName("PVAndUV")
val sc=SparkContext.getOrCreate(conf)
val logPath="/user/***/spark/logs/page_views.data"
val logRDD=sc.textFile(logPath)
val filterRDD=logRDD.filter(_.length>0)
//转换
val mapRDD=filterRDD.map(line=>{
val arr=line.split("\t")
if(arr.length==7){
val date=arr(0).trim
val url=arr(1)
val uuid=arr(2)
(date.subString(0,Math.min(10.date.length)).trim,url,uuid)
}else{
(null,null,null)
}
}).filter(tuple=>tuple._1!=null&&tuple._1.length>0)
//PV计算
val pvRDD=mapRDD
.filter(tuple=>tuple._2.length>0)
.map(tuple=>(tuple._1,1))
.reduceByKey(_+_)
//UV计算
val uvRDD=mapRDD
.filter(tuple=>tuple._3.length>0)
.map(tuple=>(tuple._1,tuple._3))
.distinct
.reduceByKey(_+_)
//合并
val pvAndUv=pvRDD.join(uvRDD).map{
case (date,(pv,uv))=>{
(date,pv,uv)
}
}
//输出
pvAndUv.saveAsTextFile("/user/***/spark/output/"+System.currentTimeMillis())
sc.stop()
}
}
注:此博客仅供博主自身复习用

Spark应用案例 日志数据分析案例

发表于 2017-08-20 | 分类于 笔记 | 阅读次数

四个需求

  •   需求一:求contentsize的平均值、最小值、最大值
  •   需求二:请各个不同返回值的出现的数据 ===> wordCount程序
  •   需求三:获取访问次数超过N次的IP地址
  •   需求四:获取访问次数最多的前K个endpoint的值 ==> TopN
阅读全文 »

Spark算子总结及案例

发表于 2017-08-11 | 分类于 笔记 | 阅读次数

spark算子大致上可分三大类算子:

  1.   Value数据类型的Transformation算子,这种变换不触发提交作业,针对处理的数据项是Value型的数据。

  2.   Key-Value数据类型的Transformation算子,这种变换不触发提交作业,针对处理的数据项是Key-Value型的数据。

  3.   Action算子,这类算子会触发SparkContext提交作业。

阅读全文 »

Java虚拟机之JVM运行时数据区

发表于 2017-08-09 | 分类于 笔记 | 阅读次数

概述

Java虚拟机在执行Java程序时会将其所管理的内存区域分成几个不同的部分,这几个部分的生命周期以及作用都各自不同,这些区域分别为:方法区(Method Area)、堆(Heap)、虚拟栈(VM Stack)、本地方法栈(Native Method Stack)、程序计数器(Program Counter Register),下面分别详细介绍一下。

阅读全文 »
1…456…20
Melodylican

Melodylican

life is struggle

98 日志
9 分类
78 标签
RSS
GitHub Twitter 微博
Creative Commons
友情链接
  • 阿里中间件技术团队
  • 阮一峰
  • 简单之美
© 2012 - 2019 Powered By Melodylican
个人专属
博客