基于Hadoop的搜索引擎用戶行為分析
本文關(guān)鍵詞:基于Hadoop的搜索引擎用戶行為分析,由筆耕文化傳播整理發(fā)布。
基于Hadoop的搜索引擎用戶行為分析
建高可靠的分布式計(jì)算框架。面重點(diǎn)討論數(shù)據(jù)去重和熱榜分析算法實(shí)現(xiàn)。3.2.2 數(shù)據(jù)去重
Sogou數(shù)據(jù)集中含有大量重復(fù)記錄,比如:8510431220399626 [北京+天氣]?city=%B1%B1%BE%A9
8510431220399626 [北京+天氣]
以上2條記錄表示用戶連續(xù)點(diǎn)擊了結(jié)果集的2條鏈接,但在統(tǒng)計(jì)分析時(shí)只能看作一次查詢,需去除重復(fù)數(shù)據(jù)。采用MapReduce并行計(jì)算模型的數(shù)據(jù)去重流程如圖2所示。
步驟如下:
(1)首先上傳初始日志文件到HDFS,默認(rèn)將逐行讀取日志文件塊(默認(rèn)大小為64MB)并將行號(hào)及該行內(nèi)容映射為初始鍵值對(duì)輸入,Map函數(shù)將對(duì)值部分進(jìn)行處理并提取session值和查詢?cè)~,形成中間鍵值對(duì)。
(2)自動(dòng)合并具有相同鍵值的鍵值對(duì),與之對(duì)應(yīng)的多個(gè)值被封裝在迭代器中,合并后的結(jié)果作為Reduce操作的輸入鍵值對(duì)。
(3)在Reduce函數(shù)中,只需將重復(fù)查詢?cè)~過濾便完成數(shù)據(jù)去重處理。如需對(duì)數(shù)據(jù)進(jìn)一步處理,可將Reduce函數(shù)的輸出鍵值對(duì)作為下個(gè)操作的初始輸入數(shù)據(jù)。
算法1 數(shù)據(jù)去重
map(StringlineNo,StringlineContent){
//lineNo:行號(hào);lineContent:行內(nèi)容
StringsplitStr[]=lineContent.split();/*拆分字符串*/
//字符串操作,提取session值和查詢?cè)~ collect(sessionId,term);//收集數(shù)據(jù)并送至reduce}
reduce(StringsessionId,Iteratorterms){
//sessionId:session值;terms:查詢?cè)~迭代器 foreachterminterms
3 基于Hadoop的海量日志數(shù)據(jù)處
理模型設(shè)計(jì)
3.1 實(shí)驗(yàn)環(huán)境
我們使用5臺(tái)PC機(jī)搭建基于Hadoop的分布式計(jì)算平臺(tái),命名為pc1~pc5,其中pc1作Name Node同時(shí)也作JobTracker,pc2~pc5作DataN ode和TaskTracker。每臺(tái)PC機(jī)具體配置如下:硬件環(huán)境:Intel(R)Pentium(R)4CPU3.00GHz 2;1GB內(nèi)存;80G硬盤;100Mbps網(wǎng)口。
軟件環(huán)境:LinuxFedora10;JDK1.6.0_0;Hadoop 0.19.1。3.2 系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)3.2.1 數(shù)據(jù)集及數(shù)據(jù)格式
實(shí)驗(yàn)使用的搜索引擎用戶行為日志由搜狗實(shí)驗(yàn)室[9]提供,一個(gè)月內(nèi)(2006/8/1~2006/8/31)約2200萬條Sogou搜索引擎查詢及用戶點(diǎn)擊日志集(約1.56GB)。其中每條查詢記錄格式見表1。
表1 查詢記錄日志格式
字段名稱 SessionIDQueryTermRank
SequenceNumberURL
說明 用戶Cookie信息查詢?cè)~
被點(diǎn)擊URL的排名用戶點(diǎn)擊的順序號(hào)用戶點(diǎn)擊的URL
例如,某記錄為 6029750673720081[四級(jí)成績(jī)] ,則對(duì)應(yīng)SessionID為 6029750673720081 ,查詢?cè)~為 四級(jí)成績(jī) ,用戶點(diǎn)擊的URL為 ,該URL在結(jié)果中排名為1,用戶點(diǎn)擊該URL為第1次點(diǎn)擊。應(yīng)用基于Hadoop的分布式計(jì)算框架對(duì)海量日志進(jìn)行用戶行為分析,統(tǒng)計(jì)出用戶查詢?cè)~的平均長(zhǎng)度、用戶點(diǎn)擊與排名的關(guān)系、熱門詞匯搜索等,為搜索引擎性能評(píng)價(jià)及算法改進(jìn)提供數(shù)據(jù)支持。下
圖2 Map/Reduce數(shù)據(jù)去重處理流程
本文關(guān)鍵詞:基于Hadoop的搜索引擎用戶行為分析,,由筆耕文化傳播整理發(fā)布。
本文編號(hào):160603
本文鏈接:http://www.sikaile.net/kejilunwen/sousuoyinqinglunwen/160603.html