用戶查詢日誌(SogouQ)之查詢詞URL最優Rank

輸入數據來源, 用戶查詢日誌(SogouQ), 感謝搜狗實驗室! 這次選擇的是精簡版(一天數據, 63MB, 解壓後145MB), html


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

PS2: 日誌格式和格式說明:    // 搜狗實驗室的官方說明緩存

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

這個格式有坑, 深坑:編碼

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

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


求出日誌文件條目總數scala

val itemCountRdd = sogouQRdd.count
itemCountRdd: Long = 1724264


對於每個查詢詞, 求出該 URL 在返回結果中的排名爲1, 且用戶點擊的順序號爲1的條目總數日誌

這說明這次搜索結果的 URL 的 Rank 最優code

val suitableRankRdd = sogouQRdd.filter(_.split('\t').length == 5).map(_.split('\t'))
.filter(_(3).split(' ')(0).toInt == 1).filter(_(3).split(' ')(1).toInt == 1).count

suitableRankRdd: Long = 279859


計算查詢詞 URL 最優 Rank 的頻率:orm


最優Rank頻率 URL最優Rank次數 / 條目總數

suitableRankRdd / itemCountRdd = 0.1623

因此查詢詞 URL最優Rank 的頻率爲 16.23%


WordCount 模型適用不少數據統計, 其實簡單的 WordCount 能夠處理, 分析出不少的信息, 

相關文章
相關標籤/搜索