• 
    

    
    

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

      基于Hadoop的網(wǎng)站流量日志數(shù)據(jù)分析系統(tǒng)的設計

      2021-12-05 09:02:03來學偉
      新一代信息技術 2021年17期
      關鍵詞:數(shù)據(jù)倉庫日志頁面

      來學偉

      (三門峽職業(yè)技術學院 信息傳媒學院,河南 三門峽 472000)

      0 引言

      近年來,隨著社會的不斷發(fā)展,海量數(shù)據(jù)的挖掘和運用越來越引起人們的重視,而互聯(lián)網(wǎng)是面向全社會的公眾平臺,逐漸成為了最便捷最有效的信息收集的渠道,隨著大數(shù)據(jù)技術越來越受到人們的關注,從互聯(lián)網(wǎng)平臺上收集到的信息為基于大數(shù)據(jù)的統(tǒng)計和挖掘提供了極大的便利[1]。

      基于大數(shù)據(jù)技術進行的數(shù)據(jù)挖掘在企業(yè)決策中越來越受到重視。比如可以通過對某網(wǎng)站平臺的日志信息進行統(tǒng)計分析,進而獲得該平臺的每日訪問數(shù)量,進一步分析出該網(wǎng)站平臺受廣大網(wǎng)民的歡迎程度;也可以對某APP應用在某段時間內的下載次數(shù)進行統(tǒng)計分析,得到該APP所受歡迎的程度。甚至可以對其進行更深一步的分析挖掘,比如對下載的方式、時間段以及區(qū)域做進一步的數(shù)據(jù)分析挖掘,這樣就可以為企業(yè)的推廣、運營、分析及決策給予有效、可靠的參考數(shù)據(jù)[2]。

      1 系統(tǒng)架構設計

      在大數(shù)據(jù)開發(fā)中,首要任務是明確分析目的,即想要從大量數(shù)據(jù)中得到什么類型的結果,并進行展示說明[3]。明確了分析目的后,我們才能準確根據(jù)具體的需求去過濾數(shù)據(jù),并通過大數(shù)據(jù)技術進行數(shù)據(jù)分析和處理,最后把經(jīng)過分析的結構以圖表文字各種可視化的形式展示給客戶,利于客戶做出正確的決策。

      我們使用Flume來采集網(wǎng)站平臺的Nginx服務器上的日志數(shù)據(jù)文件到分布式文件系統(tǒng) HDFS中去,接著依據(jù)采集到的數(shù)據(jù)日志文件的格式來開發(fā)設計MapReduce程序對數(shù)據(jù)進行預處理,然后使用Hive對數(shù)據(jù)進行分析,使用Sqoop工具把分析的結果導出到關系型的數(shù)據(jù)庫MySql中去,最終使用Web系統(tǒng)來實現(xiàn)可視化的數(shù)據(jù)。

      2 數(shù)據(jù)采集

      一般情況下,使用比較流行的Flume框架便可以滿足我們采集日志文件的需求,搭建 Flume采集系統(tǒng)也比較簡單[4],通過把 Agent節(jié)點部署在服務器上,來實現(xiàn)把采集來的日志數(shù)據(jù)匯集到分布式文件系統(tǒng)HDFS上來。核心參數(shù)的配置如下,通過Flume采集系統(tǒng)采集后的網(wǎng)站流量日志數(shù)據(jù)將會匯總到HDFS上進行保存。由于采集的日志數(shù)據(jù)內容較多,且樣式基本類似,用戶每訪問一次網(wǎng)站,就會留下一條訪問信息。

      3 數(shù)據(jù)預處理

      3.1 分析預處理的數(shù)據(jù)

      一般情況下,不能直接對收集的日志文件進行數(shù)據(jù)分析,原因是有很多不合法的數(shù)據(jù)存在在日志文件之中,清洗掉無意義的、不合法的數(shù)據(jù)是數(shù)據(jù)預處理階段最重要的任務,其次就是把日志數(shù)據(jù)中的數(shù)據(jù)格式轉變成有利于后面數(shù)據(jù)分析時的規(guī)范的格式,依據(jù)需求,快速找出各種主題的相關數(shù)據(jù)。在數(shù)據(jù)預處理階段[5],主要目的就是對收集的原始數(shù)據(jù)進行清洗和篩選,使用MapReduce技術就可以輕松實現(xiàn)。在實際開發(fā)中,數(shù)據(jù)預處理過程通常不會直接把不合法的數(shù)據(jù)直接刪除,而是對每條數(shù)據(jù)添加標識字段,從而避免其他業(yè)務使用時丟失數(shù)據(jù)。除此之外,這次數(shù)據(jù)預處理僅僅是清洗無意義的數(shù)據(jù)和篩選不合法的數(shù)據(jù),并且會讀取每一行日志文件數(shù)據(jù)并且最后輸出一條數(shù)據(jù)信息,而不會再進行其他的操作,這樣在使用MapReduce進行處理時,只會涉及到Map階段。而不會涉及Reduce階段。在一般情況下,我們都默認ReduceTask值為1,因此在主運行函數(shù)中,我們必須設置 Job.setNumReduce-Tasks(0)。

      3.2 實現(xiàn)數(shù)據(jù)的預處理

      在數(shù)據(jù)處理環(huán)節(jié),需要使用MapReduce技術進行數(shù)據(jù)預處理,作用是將復雜且沒有具體格式的數(shù)據(jù)進行規(guī)范化[6]。因此我們使用Eclipse開發(fā)工具來創(chuàng)建一個Maven項目,添加相關的依賴,創(chuàng)建 JavaBean對象,封裝日志記錄,編寫MapReduce程序,執(zhí)行數(shù)據(jù)預處理,日志文件被最終采集到 HDFS上,我們需要將編寫好的MapReduce程序部署在 Hadoop集群所在的操作系統(tǒng)中,并定時執(zhí)行該程序,以及FileInputFormat要執(zhí)行的文件路徑也必須是HDFS文件路徑。程序執(zhí)行成功以后,需要到與之相對應的output目錄中去查找觀察part-m-00000結果文件。數(shù)據(jù)預處理是根據(jù)業(yè)務需求,生成符合業(yè)務邏輯的結果文件,因此不存在標準的程序代碼,我們可以根據(jù)自身需求去擴展MapReduce程序以解決實際的業(yè)務問題。

      4 系統(tǒng)實現(xiàn)

      4.1 數(shù)據(jù)倉庫的開發(fā)

      (1)設計數(shù)據(jù)倉庫

      通過對分析網(wǎng)站流量的項目的分析,我們把數(shù)據(jù)倉庫設計為星狀模型,把MapReduce清洗過的數(shù)據(jù)存儲到一張事實表ods_weblog_origin中,該表和原始數(shù)據(jù)的表產(chǎn)生對應關系,每個字段和數(shù)據(jù)也產(chǎn)生映射關系[7],盡管這個表記錄了所有的數(shù)據(jù),但是對于數(shù)據(jù)進行分析并不方便,為了把分析的數(shù)據(jù)進行細化,通常會對該表的數(shù)據(jù)進行加工,即分割原來的表中融合各種信息的數(shù)據(jù),得到新的字段,把這個表分接為寬表,這樣信息就更加完備,我們把事實表設計好以后,就可以根據(jù)需求來設計維度表了。因為該項目只設計了兩個字段,一個是日期,一個是平均 PV值。也可以根據(jù)需求對其進行擴展。比如訪客的地域維度、終端維度等多角度來實現(xiàn)數(shù)據(jù)分析。

      (2)實現(xiàn)數(shù)據(jù)倉庫

      ETL是將業(yè)務系統(tǒng)的數(shù)據(jù)經(jīng)過抽取、清洗轉換之后加載到數(shù)據(jù)倉庫維度建模后的表中的過程,目的是將企業(yè)中的分散、零亂、標準不統(tǒng)一的數(shù)據(jù)整合到一起,為企業(yè)的決策提供分析依據(jù)。數(shù)據(jù)分析過程是在Hadoop集群上實現(xiàn)[8],主要通過Hive數(shù)據(jù)倉庫工具來實現(xiàn),因此需要將采集的日志數(shù)據(jù)經(jīng)過預處理后,加載到 Hive數(shù)據(jù)倉庫中,從而進行后續(xù)的分析過程。首先我們創(chuàng)建數(shù)據(jù)倉庫,然后創(chuàng)建表,導入數(shù)據(jù),生成明細表。

      4.2 數(shù)據(jù)分析

      數(shù)據(jù)倉庫建設好以后,用戶就可以編寫Hive SQL語句進行數(shù)據(jù)分析。在開發(fā)中需要哪些統(tǒng)計指標通常是由產(chǎn)品經(jīng)理提出,而且會不斷有新的統(tǒng)計需求產(chǎn)生,數(shù)據(jù)分析時常見的指標如下。

      流量分析,指的是頁面點擊量,是衡量網(wǎng)站質量的主要指標,流量分析是指所有訪問者在指定時間內瀏覽網(wǎng)頁的次數(shù),在日志記錄中,一條數(shù)據(jù)就代表了一次點擊量。統(tǒng)計每一天的流量分析是較為常見的需求[9]。

      人均瀏覽量分析,即人均瀏覽頁面數(shù),該指標具體反映了網(wǎng)站對用戶的黏性程度,簡單地說是用戶對該網(wǎng)站的興趣程度,頁面信息越吸引用戶,那么用戶就會跳轉更多的頁面。計算人均瀏覽量是通過總頁面請求數(shù)量除以去重人數(shù)得出。

      4.3 數(shù)據(jù)導出

      使用 Hive完成數(shù)據(jù)分析過程后,就要運用Sqoop將Hive中的數(shù)據(jù)導出到關系數(shù)據(jù)庫中,方便后續(xù)進行數(shù)據(jù)可視化處理。

      4.4 日志分析系統(tǒng)報表展示

      隨著數(shù)據(jù)分析流程的結束,接下來就是將關系數(shù)據(jù)庫中的數(shù)據(jù)展示在Web系統(tǒng)中,將抽象的數(shù)據(jù)圖形化便于非技術人員的決策與分析,我們可以采用ECHarts來輔助實現(xiàn)。

      ECHarts是一款商業(yè)級數(shù)據(jù)圖表,基于JavaScript的數(shù)據(jù)可視化圖標庫,且兼容大部分瀏覽器,底層是基于Zrender,它包含了許多組件,如坐標系、圖例和工具箱等,并在此基礎上構建出折線圖、柱狀圖、散點圖、餅圖和地圖等,同時支持任意維度的堆積和多圖表混合展現(xiàn),展現(xiàn)效果功能強大。日志分析系統(tǒng)報表展示是一個純粹的JavaEE項目,我們采用SSM框架搭建,步驟如下:

      Step.1創(chuàng)建項目,添加依賴。

      Step.2編寫配置文件。

      Step.3實現(xiàn)報表展示功能

      Step.4創(chuàng)建持久化類,實現(xiàn) DAO層,實現(xiàn)Service層,實現(xiàn)Controller層,實現(xiàn)頁面功能,最后運行,查看效果。

      5 結論

      本文講解利用 Hadoop生態(tài)體系的技術解決實際問題,實現(xiàn)介紹系統(tǒng)框架流程,然后逐個講解各個模塊之間的實現(xiàn)方式[10],從數(shù)據(jù)采集、數(shù)據(jù)預處理、數(shù)據(jù)倉庫的設計、數(shù)據(jù)分析、數(shù)據(jù)導出以及最后可視化處理,詳細講解了系統(tǒng)的環(huán)境架構以及業(yè)務流程,使用 Hadoop生態(tài)體系相關技術完善本項目其他功能。對于大數(shù)據(jù)應用程序的開發(fā)有一定的借鑒意義。

      猜你喜歡
      數(shù)據(jù)倉庫日志頁面
      大狗熊在睡覺
      刷新生活的頁面
      一名老黨員的工作日志
      華人時刊(2021年13期)2021-11-27 09:19:02
      扶貧日志
      心聲歌刊(2020年4期)2020-09-07 06:37:14
      基于數(shù)據(jù)倉庫的住房城鄉(xiāng)建設信息系統(tǒng)整合研究
      游學日志
      分布式存儲系統(tǒng)在液晶面板制造數(shù)據(jù)倉庫中的設計
      電子制作(2016年15期)2017-01-15 13:39:15
      探析電力系統(tǒng)調度中數(shù)據(jù)倉庫技術的應用
      基于數(shù)據(jù)倉庫的數(shù)據(jù)分析探索與實踐
      一種基于粗集和SVM的Web日志挖掘模型
      盐城市| 新龙县| 永济市| 舒城县| 南江县| 福海县| 广平县| 大田县| 沅江市| 绩溪县| 鄂州市| 六盘水市| 历史| 漾濞| 南和县| 个旧市| 喀喇| 张掖市| 米林县| 博乐市| 阿克陶县| 塘沽区| 东光县| 湄潭县| 化州市| 玉山县| 辽源市| 怀柔区| 马关县| 和林格尔县| 阿拉善右旗| 本溪| 阳朔县| 阜新市| 加查县| 鄱阳县| 武穴市| 石景山区| 顺昌县| 昌宁县| 团风县|