Spark入门--实战操作搜狗日志文件
来源:互联网 发布:淘宝网店培训班 编辑:程序博客网 时间:2024/06/05 20:00
日志下载地址
我们使用的是迷你版本的tar.gz格式的文件,其大小为87K
该文件的格式如下所示:
访问时间\t用户ID\t查询词\t该URL在返回结果中的排名\t用户点击的顺序号\t用户点击的URL
我们使用Spark获得搜索结果排名第一同时点击结果排名也是第一的数据量,也就是第四列值为1同时第五列的值也为1的总共的记录的个数。
打开spark-shell
val rdd = sc.textFile("/input/SogouQ.mini")rdd.countrdd2 = rdd.map(x=>x.split("\t")).filter(x=>x(3).toInt==1).filter(x=>x(4).toInt==1)rdd2.count
共2000行,结果是794行
其中 x=>x(3) 也可以简写为 _(3)
x=>x.split(“\t”) :x是每一行,String型,将它切成String型数组,这个做完之后,行数不变,每一行只是变成了String型数组而已。
x=>x(3).toInt==1 :scala的下标用()表示,不像Java用[ ]表示。当然它也是从0开始的。
因为是String型,所以要用.toInt转为Int型,看来scala的这个String–Int的转换函数比Java方便啊。
这就是为什么scala是快速编程的语言。
下面看session查询次数排行榜:
val rdd3 =rdd.map(x=>x.split("\t"))rdd3.countval rdd4=rdd3.map(x=>(x(1),1)).reduceByKey((A,B)=>(A+B)).map(x=> (x._2,x._1)).sortByKey(false).map(x=>(x._2,x._1)).saveAsTextFile("/o1")
0 0
- Spark入门--实战操作搜狗日志文件
- Spark API编程动手实战-06-对搜狗日志文件深入实战操作
- Spark API编程动手实战-06-对搜狗日志文件深入实战操作
- 孙其功陪你学之——spark----搜狗日志文件深入实战
- spark入门实战
- Spark入门实战
- Spark入门实战系列
- Spark入门实战系列
- 新手入门:Spark部署实战入门
- Spark API编程动手实战-05-spark文件操作和debug
- Spark入门RDD操作
- spark sql 入门操作
- spark实战:对日志进行查询
- Spark 2.0从入门到精通245讲——操作RDD(transformation案例实战)
- Spark 2.0从入门到精通245讲——操作RDD(action案例实战)
- 003-Tuple、Array、Map与文件操作入门实战
- scala初学之Tuple、Array、Map、文件操作入门实战
- Spark代码4之Spark 文件API及其对搜狗数据的操作
- HDU3081Marriage Match II
- Java线程中sleep(),wait(),notifyAll()的区别
- 南阳 oj 拦截导弹 求单调递减公共子序列
- java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoader
- 课程设计——简单银行储蓄系统
- Spark入门--实战操作搜狗日志文件
- C++类、结构对象内存布局浅析
- Android中Listview(七)--排序ListView
- Linux驱动开发必看-Linux启动过程(转)
- java jdk环境变量配置
- codevs1011
- HDU 1569 方格取数(2)(最小割)
- Golang通过Thrift框架完美实现跨语言调用
- poj 3303 Halls dp能过但有问题...待解决