亞寵展、全球寵物產業風向標——亞洲寵物展覽會深度解析
1033
2022-05-29
針對搜狗實驗室的語料數據-用戶查詢日志(網頁搜索用戶查詢及點擊記錄)進行Spark數據分析。
Data 簡介
搜索引擎查詢日志庫設計為包括約1個月(2008年6月)Sogou搜索引擎部分網頁查詢需求及用戶點擊情況的網頁查詢日志數據集合。為進行中文搜索引擎用戶行為分析的研究者提供基準研究語料。
格式說明:數據格式為訪問時間\t用戶ID\t[查詢詞]\t該URL在返回結果中的排名\t用戶點擊的順序號\t用戶點擊的URL。
其中,用戶ID是根據用戶使用瀏覽器訪問搜索引擎時的Cookie信息自動賦值,即同一次使用瀏覽器輸入的不同查詢對應同一個用戶ID。
通過sc讀取textFile文件,并進行行統計
過濾有效數據及相關分析
過濾出有效數據
(1)首先調用sogou.map(_.split("\t"))方法,根據“\t"符號對RDD中的每行數據進行切分生成一個字符數組;
(2)然后調用RDD的filter方法對切分后的數據進行過濾,只保留每個字符數組的長度為6的數據;
(3)最后會調用RDD的count方法統計過濾后的數據量。
過濾搜索結果排名和點擊結果排名都是第一的數據:
獲得搜索結果排名和點擊結果排名都是第一的數據。搜索結果排名對應的是改文件中URL
在返回結果中的排名,點擊結果排名指的是用戶點擊的順序號。經過上面第三步過濾的有
效數據的操作,已經把每行數據切分成一個長度為6的字符數組,要獲得搜索結果排名和點
擊結果排名都是第一的數據也就是RDD中每個字符數組中第4個元素(索引為3)和第5個元
素(索引為4)的值都為1才滿足。因此,下面會連續調用兩個filter方法來對數據進行過
濾,然后調用RDD的saveAsTextFile來保存滿足要求的數據。
計算用戶查詢次數排行榜(降序)
計算用戶查詢次數排行榜(降序),并把結果存儲到G盤里的sgresult文件夾下。用戶的查詢次數指的是每個用戶一共查詢了多少單詞,也就是指同樣的用戶ID一共查詢了多少單詞。這里已經在第四步生成的rdd的基礎上來計算用戶查詢次數排行榜
(1)首先,會調用rdd的map方法把rdd中的每個字符數組中索引為1的元素通過一個函數生成key-value型的元組;
(2)然后,調用RDD的reduceByKey方法對key相同的元素進行求和操作;
(3)再調用map方法調整每個元組中key和value的順序;
(4)接著調用sortByKey方法對交換過key和value順序的元組按照key的大小進行降序排序;
(5)之后,再交換每個元組的key和value的順序;
(6)最后通過saveAsTextFile方法把操作結果保存到指定位置的指定目錄中。
處理結果如下:
spark 數據挖掘 大數據
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。