本節中所用到的內容是來自搜狗實驗室,網址爲:http://www.sogou.com/labs/dl/q.htmlhtml
咱們使用的是迷你版本的tar.gz格式的文件,其大小爲87K,下載後以下所示:
web
上傳到服務器後,解壓並查看:服務器
查看Sogou文件內容:app
該文件的格式以下所示:
訪問時間 \t 用戶ID \t 查詢詞 \t 該URL在返回結果中的排名 \ t用戶點擊的順序號 \t 用戶點擊的URL
oop
把解壓後的文件上傳到hdfs的data目錄下:
spa
查看web控制檯:命令行
大功告成,文件上傳hdfs成功orm
接下來 咱們使用Spark得到搜索結果排名第一同時點擊結果排名也是第一的數據量,也就是第四列值爲1同時第五列的值也爲1的總共的記錄的個數。
先讀取SogouQ.mini文件:htm
count操做後:hadoop
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命令查看其具體內容: