Spark分析網(wǎng)站排名熱度

需求:

成都創(chuàng)新互聯(lián)公司長期為近1000家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊從業(yè)經(jīng)驗10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為固陽企業(yè)提供專業(yè)的成都做網(wǎng)站、網(wǎng)站制作,固陽網(wǎng)站改版等技術(shù)服務(wù)。擁有十年豐富建站經(jīng)驗和眾多成功案例,為您定制開發(fā)。

/ 解決是一個各個子模塊內(nèi)的熱度排名--》 排名得用sortBy ---》 (可能就是簡單的排序,或者是二次排序) ---》

// 前面有一個wordCount---》 算出次數(shù)出來  --》 考慮什么作為key

//算的一個網(wǎng)站下面,每個子模塊下面的網(wǎng)頁熱度前2名 :

// 算的一個網(wǎng)站下面,每個子模塊下面的網(wǎng)頁熱度前2名 --》 每個子模塊下面的網(wǎng)頁的次數(shù)的前2名

// 在實際開發(fā)中,真正代碼時間可能只占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()
  }
}

運行結(jié)果會把網(wǎng)站的日志數(shù)據(jù)按照某一模塊的要求列出排名前2個結(jié)果展示出來。

網(wǎng)頁題目:Spark分析網(wǎng)站排名熱度
本文來源:http://bm7419.com/article32/jdcgpc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制網(wǎng)站、、靜態(tài)網(wǎng)站、手機網(wǎng)站建設(shè)網(wǎng)站策劃、電子商務(wù)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

商城網(wǎng)站建設(shè)