Spark 分析网站排名热度
生活随笔
收集整理的這篇文章主要介紹了
Spark 分析网站排名热度
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
需求:
/ 解決是一個各個子模塊內的熱度排名--》 排名得用sortBy ---》 (可能就是簡單的排序,或者是二次排序) ---》
// 前面有一個wordCount---》 算出次數出來 ?--》 考慮什么作為key
//算的一個網站下面,每個子模塊下面的網頁熱度前2名 :
// 算的一個網站下面,每個子模塊下面的網頁熱度前2名 --》 每個子模塊下面的網頁的次數的前2名
// 在實際開發中,真正代碼時間可能只占20-30% ,其他時間都在理解需求,想思路
import?java.net.URL import?org.apache.spark.{SparkConf,?SparkContext}object?Data_anlysis?{def?main(args:?Array[String])?{val?conf?=?new?SparkConf().setAppName("data-anysis").setMaster("local[2]")val?sc?=?new?SparkContext(conf)val?linesRDD?=?sc.textFile("d://web_data.log")val?rdd01?=linesRDD.map(line?=>?{val?lineSplited?=?line.split("\t")(lineSplited(1),1)})val?rdd02?=?rdd01.reduceByKey(_+_)val?rdd03?=?rdd02.map(tup?=>?{val?url?=?tup._1;val?host?=?new?URL(url).getHost(host,url,tup._2)})val?rdd04?=?rdd03.groupBy(_._1)val?rdd05?=?rdd04.mapValues(iter?=>?{iter.toList.sortBy(_._3).reverse.take(2)})println(rdd05.collect().toBuffer)sc.stop()} }運行結果會把網站的日志數據按照某一模塊的要求列出排名前2個結果展示出來。
轉載于:https://blog.51cto.com/xingyue2011/1950745
總結
以上是生活随笔為你收集整理的Spark 分析网站排名热度的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 曝美国准备提起反垄断诉讼以阻止 Adob
- 下一篇: git 添加review的相关操作