• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于Hadoop平臺的用戶行為挖掘

      2015-09-09 18:13:05曾志浩姚貝張瓊林孫琪
      計算技術(shù)與自動化 2015年2期
      關(guān)鍵詞:單機海量日志

      曾志浩+姚貝+張瓊林+孫琪

      摘?要:隨著互聯(lián)網(wǎng)發(fā)展帶來的數(shù)據(jù)爆炸,使得Web日志的數(shù)據(jù)量也越來越大,如何從海量的Web日志中挖掘有價值的信息成為了目前研究的熱點。本文提出了基于Hadoop集群框架對Web日志進行挖掘。實驗結(jié)果表明,該集群系統(tǒng)既可以處理海量的web日志,同時也能夠挖掘出有價值的信息,并證實了利用sqoop在Hive倉庫和傳統(tǒng)數(shù)據(jù)庫之間數(shù)據(jù)遷移的可行性。

      關(guān)鍵字:Web日志;Hadoop;Sqoop;Hive;數(shù)據(jù)遷移

      中圖分類號:TP391?????????????????????????文獻標識碼:A

      User?Behavior?Mining?Based?on?Hadoop?platform

      Zeng?Zhihao,Yao?Bei,?Zhang?Qionglin,Sun?Qi

      (School?of?Computer?and?Communication,?Hunan?University?of?Technology,?HuNan?Zhuzhou??412000,?China)

      Abstract:?As?rapid?development?of?Internet?brings?the?data?explosion,make?web?log?data?is?becoming?bigger?and?bigger,?How?from?huge?amounts?of?Web?log?mining?valuable?information?become?the?focus?of?the?present?study.This?paper?presents?based?on?the?Hadoop?cluster?framework?for?Web?log?mining.Experimental?results?show?that,?this?cluster?system?can?processing?massive?web?log?data?,Also?its?can?be?mining?valuable?information.?And?confirmed?the?feasibility?the?data?migration?between?Hive?warehouse?and?traditional?database?by?use?sqoop.

      Key??words?:?Web?log?;?Hadoop?;?Sqoop?;?Hive?;?Data?migration

      1?引言

      互聯(lián)網(wǎng)的快速發(fā)展,使得Web日志數(shù)據(jù)呈現(xiàn)出爆炸式的增長,這些海量的Web數(shù)據(jù)中蘊含了大量的信息,這些信息對企業(yè)而言是一筆巨額的財富,企業(yè)的發(fā)展需要這些數(shù)據(jù)提供更好的戰(zhàn)略決策支持,因此對這些數(shù)據(jù)具有極大地挖掘需求;這使得從海量的Web數(shù)據(jù)中挖掘有用的信息成為了目前研究的熱點,同時大規(guī)模的計算能力成為Web數(shù)據(jù)挖掘技術(shù)能否有效實現(xiàn)的外部需求[1]。

      針對海量數(shù)據(jù)處理出現(xiàn)的技術(shù)問題,以Hadoop[2]為代表的新技術(shù)得到了國內(nèi)外科技工作者的極大關(guān)注;Hadoop平臺的最大優(yōu)勢是它實現(xiàn)了“計算靠近存儲”的思想[3],此思想省去了海量數(shù)據(jù)網(wǎng)絡(luò)傳輸?shù)倪@一大開銷,大大減少了數(shù)據(jù)處理時間,同時其并行化的數(shù)據(jù)處理方式非常適用于處理海量數(shù)據(jù)。

      針對Hadoop分布式處理海量數(shù)據(jù)的優(yōu)勢,國內(nèi)外一些學者紛紛對Hadoop平臺進行了相關(guān)研究,文獻[4]基于Hadoop平臺,實現(xiàn)了對Web數(shù)據(jù)的并行化處理,提高了數(shù)據(jù)運行處理時間;文獻[5]通過基于Hadoop平臺,設(shè)計了一個用于處理海量搜索日志的分析平臺;文獻[1,?6]基于Hadoop平臺進行了Web日志挖掘?qū)嶒灒⒆C實了Hadoop平臺的可用性。

      本文基于Hadoop平臺首先對Web日志進行了數(shù)據(jù)清洗,根據(jù)數(shù)據(jù)挖掘的具體需要,過濾冗余、異?;蛘吲c挖掘目的無關(guān)的信息,然后通過HIVE數(shù)據(jù)倉庫分析用戶行為的關(guān)鍵指標,對Web日志數(shù)據(jù)進行用戶行為挖掘,利用MySQL進行挖掘結(jié)果展示,同時利用了sqoop[7]組件在關(guān)系型數(shù)據(jù)庫與非關(guān)系型數(shù)據(jù)庫進行了數(shù)據(jù)遷移。

      2?相關(guān)技術(shù)介紹

      Hadoop是Apache軟件基金會旗下的一個分布式計算平臺。以Hadoop分布式文件系統(tǒng)(Hadoop?Distributed?File?System,HDFS)和MapReduce[8](Google?MapReduce的開源實現(xiàn))為核心的Hadoop為用戶提供了系統(tǒng)底層細節(jié)透明的分布式基礎(chǔ)架構(gòu)[2]。

      對于Hadoop的文件系統(tǒng)HDFS具有高容錯性的特點,它可以設(shè)計部署在低廉的硬件上,同時它可以通過提供高吞吐率來訪問應用程序的數(shù)據(jù)。

      MapReduce是一種編程模型,用于大規(guī)模數(shù)據(jù)集的并行運算,它主要以對數(shù)據(jù)進行映射(Map)、化簡(Reduce)來實現(xiàn)計算,即MapReduce在執(zhí)行時先指定一個Map(映射)函數(shù),把輸入鍵值對映射成一組新的鍵值對,經(jīng)過一定處理后交給Reduce,Reduce對相同Key下的所有value進行處理后再輸出鍵值對作為最終的結(jié)果。

      Hive[9]是一個基于Hadoop文件系統(tǒng)之上的數(shù)據(jù)倉庫架構(gòu),它為數(shù)據(jù)倉庫的管理提供了許多功能:數(shù)據(jù)ETL(抽取、轉(zhuǎn)換和加載)工具、數(shù)據(jù)存儲管理和大型數(shù)據(jù)集的查詢和分析能力;同時Hive定義了類SQL的語言—Hive?QL。

      HBase是一種NoSQL存儲數(shù)據(jù)庫,它可以用來快速隨機讀寫大規(guī)模數(shù)據(jù),是一個高可靠性、高性能、面向列、可伸縮的分布式存儲系統(tǒng),利用HBase技術(shù)可在廉價機器上搭建起大規(guī)模結(jié)構(gòu)化存儲集群[10]。HBase利用HDFS作為其文件存儲系統(tǒng),利用MapReduce來處理HBase中的海量數(shù)據(jù),利用Zookeeper作為協(xié)調(diào)工具。

      Zookeeper是Google的Chubby一個開源的實現(xiàn),是一個為分布式應用所設(shè)計的開源協(xié)調(diào)服務(wù),它包含一個簡單的原語集,分布式應用程序可以基于它實現(xiàn)同步服務(wù)、配置維護和命名服務(wù)等;用戶可以使用Zookeeper提供的接口方便地實現(xiàn)一致性、組管理、leader選舉及某些協(xié)議,同時Zookeeper不僅可以為單機提供服務(wù),同時也支持多機組成集群來提供服務(wù)。

      Sqoop[7]是“SQL?to?Hadoop”的縮寫,是一款用于在Hadoop系統(tǒng)和結(jié)構(gòu)化數(shù)據(jù)存儲系統(tǒng)間進行數(shù)據(jù)交換的軟件,它可以用于將傳統(tǒng)數(shù)據(jù)庫(如MySQL、Oracle)中的數(shù)據(jù)導入HDFS由MapReduce程序或Hive工具使用,并支持將處理后的結(jié)果數(shù)據(jù)導出到傳統(tǒng)關(guān)系型數(shù)據(jù)庫中[11]。

      3用戶行為挖掘的關(guān)鍵指標介紹

      瀏覽量PV:頁面瀏覽量即為PV(Page?View),是指所有用戶在該網(wǎng)站瀏覽頁面的總和,一個獨立用戶每打開一個頁面就被記錄1次;對于網(wǎng)站總瀏覽量,其可以作為考核用戶對于網(wǎng)站的興趣。同時對于網(wǎng)站運營者來說,更重要的是網(wǎng)站每個欄目下的瀏覽量。

      注冊用戶數(shù):每一天網(wǎng)站新注冊的用戶人數(shù);運營者通過對注冊用戶數(shù)分析可以查看出網(wǎng)站推廣狀況。

      IP數(shù):一天之內(nèi),訪問網(wǎng)站的不同的獨立IP?個數(shù)總和;其中同一IP無論訪問了幾個頁面,獨立IP?數(shù)均為1。

      跳出率:只瀏覽了一個頁面便離開了網(wǎng)站的訪問次數(shù)占總的訪問次數(shù)的百分比,即只瀏覽了一個頁面的訪問次數(shù)?/?全部的訪問次數(shù)匯總;跳出率是非常重要的訪客黏性指標,它顯示了訪客對網(wǎng)站的興趣程度,即跳出率越低說明流量質(zhì)量越好,訪客對網(wǎng)站的內(nèi)容越感興趣,這些訪客越可能是網(wǎng)站的有效用戶、忠實用戶;該指標也可以衡量網(wǎng)絡(luò)營銷的效果,指出有多少訪客被網(wǎng)絡(luò)營銷吸引到宣傳產(chǎn)品頁或網(wǎng)站上之后,又流失掉的人數(shù)。

      4用戶行為挖掘的平臺設(shè)計

      日志采集模塊:負責將各個前端web服務(wù)器中的日志傳送到日志接收節(jié)點上。這里可以采用每天定時的將各個服務(wù)器中的日志傳送到接收節(jié)點。對于日志服務(wù)器數(shù)據(jù)較小時,接收節(jié)點可以通過shell命令直接將日志數(shù)據(jù)上傳到HDFS中;如果日志服務(wù)器非常多,數(shù)據(jù)量大時,可使用flume進行數(shù)據(jù)處理。

      日志清洗模塊:通過Hadoop的編程框架MapReduce對上傳到HDFS的原始數(shù)據(jù)進行清洗;具體工作可分為兩個階段:Map階段和Reduce階段。這兩個階段分別用兩個函數(shù)來表示,即Map函數(shù)和Reduce函數(shù)。Map函數(shù)接收一個<key,value>形式的輸入,然后產(chǎn)生同樣為<key,value>形式的中間輸出,Hadoop會負責將所有具有相同中間key值的value集合到一起傳遞給Reduce函數(shù),Reduce函數(shù)接收一個如<key,(list?of?values)>形式的輸入,然后對這個value集合進行處理并輸出結(jié)果,Reduce的輸出也是<key,value>形式的。

      分別將三個<key,value>對標記為<k1,v1>、<k2,v2>、<k3,v3>,以上數(shù)據(jù)處理流程可用圖1表示:

      圖1??MapReduce程序數(shù)據(jù)變化的基本模型

      查詢分析模塊:將清洗后的數(shù)據(jù)導入到Hive中,使用Hive對清洗后的數(shù)據(jù)進行多維分析;并且將Hive返回的查詢結(jié)果以某種形式表現(xiàn)出來,供用戶查看。用戶可在瀏覽器客戶端上輸入或選擇需要查詢的內(nèi)容。

      結(jié)果顯示模塊:使用Sqoop將Hive中產(chǎn)生的分析結(jié)果導出到MySQL數(shù)據(jù)庫中;如果用戶需要查看詳細數(shù)據(jù),可以使用HBase數(shù)據(jù)庫進行展示。

      圖2所示的是整個系統(tǒng)的架構(gòu)圖。

      圖2??系統(tǒng)架構(gòu)圖

      5實驗結(jié)果分析

      為了測試系統(tǒng),我們在測試平臺上做了實驗,分別利用幾組大小不同的數(shù)據(jù)分別在單機情況下和在集群情況下進行了數(shù)據(jù)清洗時間消耗測試。

      1?實驗環(huán)境。本測試平臺實驗環(huán)境中,單機配置為:處理器類型,Intel(R)?Core(TM)2?Duo?CPU?E7500?@2.93GHz,內(nèi)存容量為2GB。集群配置是由三臺與單機配置相同的服務(wù)器組成,其中,一臺服務(wù)器是主節(jié)點,另外兩臺服務(wù)器是從節(jié)點;同時使用了Zookeeper組件對集群進行了協(xié)調(diào)服務(wù)管理。在集群中所有的服務(wù)器都運行在CentOS-6.4操作系統(tǒng)上,同時每臺服務(wù)器均安裝了hadoop-1.1.2和jdk-6u24-linux-i586和zookeeper-3.4.5,在三臺服務(wù)器中,主節(jié)點安裝了Hive-0.9.0、MySQL數(shù)據(jù)庫和Sqoop-1.4.3.bin_hadoop-1.0.0。本實驗通過配置Eclipse的Hadoop應用開發(fā)環(huán)境進行程序開發(fā)的。

      2?實驗數(shù)據(jù)及內(nèi)容。本實驗的數(shù)據(jù)來自于某論壇服務(wù)器上的日志數(shù)據(jù)。實驗通過對論壇日志數(shù)據(jù)處理分析,來計算論壇關(guān)鍵指標,即瀏覽量、注冊用戶數(shù)、IP數(shù)、跳出率,最后通過對關(guān)鍵指標分析,進行用戶行為挖掘,將挖掘結(jié)果提供給運營者運營決策。

      實驗一 通過五組不同數(shù)據(jù)量大小的日志作為輸入,并統(tǒng)計出每組分別在Hadoop集群和傳統(tǒng)的基于單機模式下的數(shù)據(jù)清洗所消耗的時間,其結(jié)果如圖3所示。

      圖3??單機與集群對比

      實驗二 分別在集群計算節(jié)點為1、2、3時對同一個Web日志進行數(shù)據(jù)清洗處理,并分別統(tǒng)計數(shù)據(jù)清洗所消耗的時間;其結(jié)果如圖4所示。

      圖4??節(jié)點個數(shù)不同對執(zhí)行時間的影響

      3?實驗結(jié)果分析。通過實驗一結(jié)果分析,我們可以知道,如果數(shù)據(jù)量小于40M時,Hadoop集群無法發(fā)揮其分布式處理海量數(shù)據(jù)的優(yōu)勢,甚至其所消耗的時間大于單機處理所消耗的時間。但是,當要處理的日志數(shù)據(jù)達到50M以上時,Hadoop集群的并行化處理優(yōu)勢會隨著數(shù)據(jù)量的增加而顯示出來。通過實驗二結(jié)果分析可知,對于同一數(shù)據(jù)量,隨著集群中計算節(jié)點的數(shù)量增加,數(shù)據(jù)清洗所消耗的時間明顯減少。

      6結(jié)論

      針對目前單機環(huán)境下無法處理海量Web數(shù)據(jù)的問題,本文提出了基于Hadoop平臺的集群環(huán)境下處理海量Web數(shù)據(jù)的問題,利用Hadoop集群的并行化處理海量數(shù)據(jù)的優(yōu)勢,解決了單機模式下數(shù)據(jù)處理效率低下且無法解決海量數(shù)據(jù)的問題。本文通過利用Hadoop集群環(huán)境,對Web日志數(shù)據(jù)進行了相關(guān)數(shù)據(jù)清洗,得到運營者需求的關(guān)鍵指標;同時利用sqoop組件在Hive數(shù)據(jù)倉庫和Mysql數(shù)據(jù)庫中進行數(shù)據(jù)遷移,大幅度提高了數(shù)據(jù)遷移效率,同時對處理關(guān)系型數(shù)據(jù)庫中的數(shù)據(jù)向非關(guān)系型數(shù)據(jù)庫中的數(shù)據(jù)遷移提供了一定參考價值。

      參考文獻

      [1]?李彬,劉莉莉.基于?MapReduce?的?Web?日志挖掘[J].計算機工程與應用,2012,48(22):?95-98.

      [2]?陸嘉恒.?Hadoop?實戰(zhàn)[M].北京:機械工業(yè)出版社,2012:2-7.

      [3]?朱湘,金松昌,賈焰.?一種基于?Hadoop?平臺的海量?Web?數(shù)據(jù)挖掘系統(tǒng)研究與實現(xiàn)[C]//張新生.中國通信學會--第九屆中國通信學會學術(shù)年會論文集.?北京:北京郵電大學出版社,2012:72-76.

      [4]?顧濤.?基于?Hadoop的Web信息提取和垃圾信息過濾研究與實現(xiàn)[D].?成都:電子科技大學,2012.

      [5]?趙龍.?基于hadoop的海量搜索日志分析平臺的設(shè)計和實現(xiàn)[D].?大連:大連理工大學,2013.

      [6]?程苗,陳華平.基于Hadoop的Web日志挖掘[J].計算機工程,2011,37(11):37-39.

      [7]?Ting?K,?Cecho?J?J.?Apache?Sqoop?Cookbook[M].?"?O'Reilly?Media,?Inc.",?2013.

      [8]?Dean?J,?Ghemawat?S.?MapReduce:?simplified?data?processing?on?large?clusters[J].?Communications?of?the?ACM?,2008,?51(1):?107-113.

      [9]?Thusoo?A,?Sarma?J?S,?Jain?N,?et?al.?Hive:?a?warehousing?solution?over?a?map-reduce?framework[J].?Proceedings?of?the?VLDB?Endowment,?2009,?2(2):?1626-1629.

      [10]?George?L.?HBase:?the?definitive?guide[M].?"?O'Reilly?Media,?Inc.",?2011.

      [11]?陸嘉恒.?大數(shù)據(jù)挑戰(zhàn)與NoSQL數(shù)據(jù)庫技術(shù)[M].?北京:電子工業(yè)出版社,2013.

      猜你喜歡
      單機海量日志
      一名老黨員的工作日志
      華人時刊(2021年13期)2021-11-27 09:19:02
      熱連軋單機架粗軋機中間坯側(cè)彎廢鋼成因及對策
      新疆鋼鐵(2021年1期)2021-10-14 08:45:36
      扶貧日志
      心聲歌刊(2020年4期)2020-09-07 06:37:14
      海量快遞垃圾正在“圍城”——“綠色快遞”勢在必行
      當代陜西(2019年14期)2019-08-26 09:42:00
      宇航通用單機訂單式管理模式構(gòu)建與實踐
      游學日志
      水電的“百萬單機時代”
      能源(2017年9期)2017-10-18 00:48:22
      一個圖形所蘊含的“海量”巧題
      一種海量衛(wèi)星導航軌跡點地圖匹配方法
      筑路機械單機核算的思考與研究
      武乡县| 玉田县| 张家川| 阳泉市| 资源县| 巴东县| 盐津县| 昌乐县| 阿尔山市| 滕州市| 桂东县| 普宁市| 大悟县| 武定县| 安岳县| 朔州市| 沙河市| 军事| 玉屏| 潞西市| 渭南市| 攀枝花市| 邓州市| 涡阳县| 平度市| 绥化市| 军事| 盐池县| 兴化市| 深泽县| 卫辉市| 鹤岗市| 台东市| 当阳市| 大连市| 东乡族自治县| 京山县| 武邑县| 新龙县| 营口市| 廉江市|