真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯網站制作重慶分公司

SogouQ中如何實現WordCount

今天就跟大家聊聊有關SogouQ中如何實現WordCount,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。

專注于為中小企業(yè)提供成都網站設計、做網站服務,電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業(yè)坊子免費做網站提供優(yōu)質的服務。我們立足成都,凝聚了一批互聯網行業(yè)人才,有力地推動了上1000+企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網站建設實現規(guī)模擴充和轉變。

PS1: 日志原格式是GB2312編碼, 一定要記得轉成UTF-8

PS2:日志格式和格式說明:   

訪問時間\t用戶ID\t[查詢詞]\t該URL在返回結果中的排名\t用戶點擊的順序號\t用戶點擊的URL

這個格式有坑, 

深坑:

"該URL在返回結果中的排名\t用戶點擊的順序號"這兩個字段之間的分割符并不是制表符\t, 而是空格

val sogouQRdd = sc.textFile("hdfs://node1:9000/sogouQ/input")
sogouQRdd.cache    # 在下一次Action操作時, 將日志文件緩存到內存中

實現普通的 WordCount, 但結果不會像 MapReduce 那樣按 Key(word) 排序

sogouQRdd.filter(_.split('\t').length == 5): 有兩個搜索關鍵字的字符串(為什么只是兩個,別問我是怎么知道的), 居然有制表符\t, 一定要記得過濾掉

val wcWithoutSortRdd = sogouQRdd.filter(_.split('\t').length == 5).map(_.split('\t')(2))
.map((_, 1)).reduceByKey(_ + _)

wcWithoutSortRdd.saveAsTextFile("hdfs://node1:9000/sogouQ/output/wc1")

wcWithoutSortRdd的輸出結果Top10

([中天ZT1818評論+site:www.pcpop.com|product.pcpop.com|channel.pcpop.com|pop.pcpop.com],1)
([三一重工+筑路機械],1)
([最快的視頻網站],1)
([zhutan],3)
([氟康],3)
([石家莊戰(zhàn)役],2)
([國外女子監(jiān)獄],1)
([A42B331參數],1)
([78bar],1)
([臨沂麥可斯],2)

實現按 Value(count) 排序(降序)的 WordCount

思路: 在 wcRdd 的基礎上, 先把K(word), V(count)反轉, 此時對Key(count)進行排序, 最后再反轉回去

val wcSortByCountRdd = wcWithoutSortRdd.map(x => (x._2, x._1)).sortByKey(false).
map(x => (x._2, x._1))

wcSortByCountRdd.saveAsTextFile("hdfs://node1:9000/sogouQ/output/wc2")

思路2: 直接使用 sortBy() 操作

// _._2 : 元組的第2項, 就是 count; false : 按降序排序
val wcSortByCountRdd = wcWithoutSortRdd.sortBy(_._2, false)

wcSortByCountRdd.saveAsTextFile("hdfs://node1:9000/sogouQ/output/wc2")

wcSortByCountRdd的輸出結果Top10

([哄搶救災物資],66906)
([汶川地震原因],58766)
([封殺莎朗斯通],12649)
([一個暗娼的自述],9758)
([廣州軍區(qū)司令員],8661)
([暗娼李湘],8584)
([成都警方掃黃現場],5371)
([百度],4958)    // 用搜狗搜百度, 好像在黑百度, 嘿嘿嘿
([尼泊爾地圖],4886)
([現役解放軍中將名單],4721)

看完上述內容,你們對SogouQ中如何實現WordCount有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注創(chuàng)新互聯行業(yè)資訊頻道,感謝大家的支持。


網頁標題:SogouQ中如何實現WordCount
URL分享:http://weahome.cn/article/gppogi.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部