日志字段格式:
id,ip,url,ref,cookie,time_stamp
把日志文件放到HDFS。仅取了1000行。
hadoop fs -put 1000_log hdfs://localhost:9000/user/root/input
直接在Scala Shell中读取文件并计算PV。
scala> val textFile = sc.textFile("hdfs://localhost:9000/user/root/input/1000_log")
scala> val textRDD = textFile.map(_.split("\t")).filter(_.length == 6)
scala> val result = textRDD.map(w => ((new java.net.URL(w(2))).getHost,1)).reduceByKey(_ + _).map(item => item.swap).sortByKey(false).map(item => item.swap)
scala> result.saveAsTextFile("hdfs://localhost:9000/user/root/out8.txt")
从HDFS上取回结果:
hadoop fs -get hdfs://localhost:9000/user/root/out8.txt查看结果:
$ more out8.txt/part-00000
(www.j1.com,126)
(tieba.

本文介绍了如何使用Spark在Scala Shell中处理日志文件,计算页面浏览量(PV)和独立访客数(UV)。日志数据包含id, ip, url, ref, cookie和time_stamp字段。首先,将日志数据存入HDFS,然后从HDFS读取1000行数据计算PV。接着,通过分析不同cookie来确定UV,以此理解为独立用户访问。最后,通过Python脚本来验证计算结果的准确性。"
51829340,5098759,树状数组解法:区间更新与区间查询,"['数据结构', '算法', '树状数组', '区间操作']
最低0.47元/天 解锁文章
4454

被折叠的 条评论
为什么被折叠?



