Spark API編程動手實戰-06-對搜狗日誌文件深刻實戰操做

本節中所用到的內容是來自搜狗實驗室,網址爲: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命令查看其具體內容:

相關文章
相關標籤/搜索