本節中所用到的內容是來自搜狗實驗室,網址爲:http://www.sogou.com/labs/dl/q.html
我們使用的是迷你版本的tar.gz格式的文件,其大小爲87K,下載後如下所示:
上傳到服務器後,解壓並查看:
查看Sogou文件內容:
該文件的格式如下所示:
訪問時間 \t 用戶ID \t 查詢詞 \t 該URL在返回結果中的排名 \ t用戶點擊的順序號 \t 用戶點擊的URL
把解壓後的文件上傳到hdfs的data目錄下:
查看web控制檯:
大功告成,文件上傳hdfs成功
接下來 我們使用Spark獲得搜索結果排名第一同時點擊結果排名也是第一的數據量,也就是第四列值爲1同時第五列的值也爲1的總共的記錄的個數。
先讀取SogouQ.mini文件:
count操作後:
count之後有2000條記錄
首先過濾出有效的數據:
可以發現該文件中的數據都是有效數據。
下面使用spark獲得搜索結果排名第一同時點擊結果排名也是第一的數據量:
可以發現搜索結果排名第一同時點擊結果排名也是第一的數據量爲794條;
使用toDebugString查看一下其lineage:
HadoopRDD->MappedRDD->MappedRDD->FilteredRDD->FilteredRDD->FilteredRDD
下面看用戶ID查詢次數排行榜:
對sortedSogouQRdd進行collect操作:(不要亂collect 會出現OOM的)
結果:
把結果保存在hdfs上:
hdfs命令行查詢:
part-0000:
part-00001:
web控制檯查詢:
我們通過hadoop命令把上述兩個文件的內容合併起來:
查看一下合併後的本地文件:
使用head命令查看其具體內容: