国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Hadoop平臺(tái)下日志分析系統(tǒng)的研究

2018-06-27 02:38陳小龍丁祥武
無(wú)線互聯(lián)科技 2018年5期

陳小龍 丁祥武

摘要:在信息系統(tǒng)當(dāng)中,日志數(shù)據(jù)也就是用戶對(duì)系統(tǒng)的操作記錄以及系統(tǒng)自身的運(yùn)行狀7兄記錄,對(duì)日志數(shù)據(jù)的有效分析,有利于排除系統(tǒng)故障、明確用戶訪問規(guī)律等?;诖耍恼戮虷adoop平臺(tái)下日志分析系統(tǒng)展開研究,首先介紹了系統(tǒng)的總體框架,進(jìn)一步對(duì)其設(shè)計(jì)與實(shí)現(xiàn)過程中,日志分析處理流程設(shè)計(jì)、日志數(shù)據(jù)預(yù)處理兩個(gè)操作環(huán)節(jié)進(jìn)行了重點(diǎn)介紹,并進(jìn)一步提出了針對(duì)此類系統(tǒng)的檢測(cè)方法。

關(guān)鍵詞:Hadoop平臺(tái);日志分析系統(tǒng);數(shù)據(jù)預(yù)處理

Hadoop是Apache軟件基金會(huì)的一個(gè)開源項(xiàng)目,在并行處理大數(shù)據(jù)的研究與應(yīng)用領(lǐng)域,屬于一款極具代表性的產(chǎn)品。Hadoop平臺(tái)提供的是一種分布式系統(tǒng)基礎(chǔ)框架,適用于多種分布式應(yīng)用的開發(fā),且能夠支持海量數(shù)據(jù)的高效運(yùn)算與存儲(chǔ)。由此可見,在進(jìn)行日志分析系統(tǒng)的設(shè)計(jì)時(shí),Hadoop是首選的支持平臺(tái),對(duì)實(shí)現(xiàn)日志分析系統(tǒng)的高效運(yùn)行目標(biāo),具有極大的支持與推動(dòng)作用。

1 基于Hadoop平臺(tái)下日志分析系統(tǒng)的總體構(gòu)架

Hadoop平臺(tái)下日志分析系統(tǒng)的總體構(gòu)架可以從以下幾個(gè)方面進(jìn)行闡述。

(1)日志收集的方式,傳統(tǒng)的Web服務(wù)器在接收到用戶訪問HTTP請(qǐng)求后會(huì)對(duì)此行為做出記錄,并且按照需求返還給用戶正常的網(wǎng)頁(yè)內(nèi)容;此外還有頁(yè)面標(biāo)記法、爬蟲或者掃描網(wǎng)站等方式產(chǎn)生的PV,不會(huì)被直接統(tǒng)計(jì),一個(gè)頁(yè)面的請(qǐng)求只會(huì)形成一個(gè)PV,對(duì)日志的收集和匯總也十分簡(jiǎn)單便捷。

(2)可以采用流量分析統(tǒng)計(jì)、來源分析統(tǒng)計(jì)、訪客分析統(tǒng)計(jì)和訂單分析統(tǒng)計(jì)等方法對(duì)日志的功能需求進(jìn)行詳細(xì)分析。對(duì)于數(shù)據(jù)的輸出,因?yàn)榭蛻舻牟煌?,輸出展現(xiàn)形式也不一樣,使用Web圖表的形式進(jìn)行合理展示十分必要。

(3)日志處理的流程分析,首先對(duì)作業(yè)進(jìn)行合理配置,根據(jù)輸入的日期時(shí)間和報(bào)表的類型,讀取所有符合要求的記錄,隨后將作業(yè)提交到集群中進(jìn)行統(tǒng)一處理,處理后的相關(guān)記錄都會(huì)被保存到HDFS當(dāng)中。最后作業(yè)完成執(zhí)行,連接數(shù)據(jù)庫(kù),將最后的結(jié)果再一次存儲(chǔ)到數(shù)據(jù)庫(kù)當(dāng)中。

(4)作業(yè)的詳細(xì)設(shè)計(jì),系統(tǒng)中包含輸入輸出包、工具包和業(yè)務(wù)包,其中輸入輸出包也就是IQ包,負(fù)責(zé)日志信息記錄到數(shù)據(jù)庫(kù)中,工具包,簡(jiǎn)稱Util包,主要負(fù)責(zé)將字符串的模式解析和錯(cuò)誤信息進(jìn)行記錄排除錯(cuò)誤,業(yè)務(wù)包指的是Service包,是系統(tǒng)中最重要的組成部分,由一些mappreduce作業(yè)組成,有各種統(tǒng)計(jì)的功能作用。

2 基于Hadoop平臺(tái)下日志分析系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)策略

基于Hadoop平臺(tái)設(shè)計(jì)日志分析系統(tǒng),完成后的系統(tǒng)如圖1所示,主要包括日志信息收集、日志預(yù)處理流程設(shè)計(jì)、作業(yè)詳細(xì)設(shè)計(jì)以及統(tǒng)計(jì)結(jié)果呈現(xiàn),共4個(gè)階段。

2.1 日志數(shù)據(jù)預(yù)處理

基于Hadoop平臺(tái)的日志分析系統(tǒng)當(dāng)中,數(shù)據(jù)的預(yù)處理是系統(tǒng)功能實(shí)現(xiàn)的關(guān)鍵環(huán)節(jié),整個(gè)階段需要實(shí)現(xiàn)數(shù)據(jù)清洗、用戶識(shí)別以及會(huì)話識(shí)別功能。以某電子商務(wù)網(wǎng)站系統(tǒng)的Web日志分析系統(tǒng)為例,日志數(shù)據(jù),主要記錄了用戶對(duì)網(wǎng)站的所有訪問行為,但后臺(tái)檢測(cè)時(shí)發(fā)現(xiàn),所記錄的日志信息當(dāng)中,包含大量的冗余信息;且有部分信息受到了一定損害,呈現(xiàn)為不完整的狀態(tài);還有部分日志記錄是錯(cuò)誤的或者無(wú)效的。對(duì)于日志分析系統(tǒng)來說,這些信息數(shù)據(jù)的存在,增加了日志分析與處理的復(fù)雜性,當(dāng)這些信息的量達(dá)到一定程度時(shí),將會(huì)對(duì)分析結(jié)果造成影響,降低分析結(jié)果的準(zhǔn)確度[1]。所以,有必要進(jìn)行一系列的數(shù)據(jù)預(yù)處理操作,對(duì)記錄中不完整的、不一致的數(shù)據(jù)信息進(jìn)行清除,從而提升系統(tǒng)分析結(jié)果的準(zhǔn)確度。

在某一網(wǎng)站系統(tǒng)運(yùn)行過程中,用戶發(fā)送了一個(gè)服務(wù)請(qǐng)求,此時(shí),日志系統(tǒng)會(huì)自動(dòng)記錄與這一服務(wù)相關(guān)的所有信息,包括音頻、視頻、圖片、文字等,一般情況下,這些日志信息的作用并不明顯,但當(dāng)需要進(jìn)行某一圖片、視頻等的訪問量時(shí),這些記錄就能夠成為可靠的統(tǒng)計(jì)數(shù)據(jù)來源。但若要統(tǒng)計(jì)網(wǎng)站的日訪問量與訪客訪問間隔分布,那么這些具體的音頻、視頻、圖片等數(shù)據(jù)信息,就都成了冗余信息,刪除之后,能夠極大地提高日志分析處理效率。

基于Hadoop平臺(tái)下的日志分析系統(tǒng)中,數(shù)據(jù)預(yù)處理階段,能夠有效進(jìn)行數(shù)據(jù)清洗,操作過程中,應(yīng)以相關(guān)統(tǒng)計(jì)需求、日志數(shù)據(jù)格式為依據(jù),對(duì)日志記錄進(jìn)行分析處理,清除記錄當(dāng)中的不完整的、冗余的或無(wú)效的數(shù)據(jù)信息;若發(fā)現(xiàn)存在錯(cuò)誤的記錄,可對(duì)其進(jìn)行適當(dāng)?shù)奶幚?。其次,基于Hadoop平臺(tái)的日志分析系統(tǒng),能夠利用userid字段表示訪問用戶,從而實(shí)現(xiàn)用戶識(shí)別。當(dāng)順利識(shí)別訪客之后,通過分析訪客的點(diǎn)擊序列,可以實(shí)現(xiàn)會(huì)話識(shí)別。會(huì)話識(shí)別的功能原理,就是先將訪客的訪問記錄進(jìn)行分類處理,形成一個(gè)個(gè)獨(dú)立的會(huì)話;主要的識(shí)別方法就是超時(shí)識(shí)別,可通過對(duì)所有訪客設(shè)置同一個(gè)超時(shí)閾值,或?qū)ο噜彽恼?qǐng)求設(shè)置超時(shí)閾值的方式,完成識(shí)別操作。需要注意的是,設(shè)置超時(shí)閾值,對(duì)預(yù)處理日志的輸出會(huì)產(chǎn)生一定的影響,所以要盡量保證閾值的合理性,在30 min左右即可。

2.2 日志分析處理流程

基于Hadoop平臺(tái)的日志分析系統(tǒng)中,日志分析處理流程模塊的核心,是MapReduce計(jì)算模型,該模塊的主要作用,就是完成事物邏輯規(guī)則設(shè)計(jì)與計(jì)算功能。利用MapReduce計(jì)算模型,能夠?qū)崿F(xiàn)對(duì)Web日志的高效處理,且當(dāng)需要進(jìn)行相關(guān)統(tǒng)計(jì)事務(wù)時(shí),也能極大地降低統(tǒng)計(jì)工作的難度,提升工作效率。在進(jìn)行數(shù)據(jù)預(yù)處理之前,日志記錄中往往存在諸多無(wú)價(jià)值的數(shù)據(jù)信息,而日志處理模塊的主要作用.就是將具有分析價(jià)值的信息篩選出來[2]。利用MapReduce計(jì)算模型,其Map階段的主要作用,就是對(duì)所有的日志記錄進(jìn)行清洗,篩選出需要的信息,同時(shí)轉(zhuǎn)化原始日志的形式成為鍵值對(duì)。

對(duì)于不同的網(wǎng)站系統(tǒng)來說,出入業(yè)務(wù)需求的差異,名相關(guān)統(tǒng)計(jì)規(guī)則也不盡相同,但對(duì)于統(tǒng)計(jì)功能及效果的實(shí)現(xiàn)原理是一致的,具體的流程如下。

(1)明確數(shù)輸入路徑,并依此對(duì)輸入文件進(jìn)行分割;并利用讀入數(shù)據(jù)格式(InputFormat)中的RecordReader將數(shù)據(jù)讀成鍵值對(duì);進(jìn)一步按照Mapper類型,將這些鍵值對(duì)平均分給不同的Mapper處理。

(2) Mapper接收到鍵值對(duì)之后,要進(jìn)行Map操作,操作流程:Map->list。其中keyl是原始日志所在的行數(shù),而value表示的是整條日志信息;而key2表示的是實(shí)際需求所指定的關(guān)鍵字,其內(nèi)容與形式不受keyl的約束,而value2表示處理后的記錄信息。

(3)由Redueer進(jìn)行Reduee操作。

(4)由輸出數(shù)據(jù)的格式(OutputFormat)中的RecordWriter輸出結(jié)果。

3 基于Hadoop平臺(tái)下日志分析系統(tǒng)測(cè)試

基于Hadoop平臺(tái)下的日志分析系統(tǒng),在完成初步設(shè)計(jì)之后,要對(duì)系統(tǒng)的可靠性與穩(wěn)定性進(jìn)行測(cè)試。整個(gè)測(cè)試流程,應(yīng)從原始日志數(shù)據(jù)開始,依據(jù)數(shù)據(jù)處理流程,完整進(jìn)行數(shù)據(jù)處理與分析。獲得日志數(shù)據(jù)之后,通過系統(tǒng)的計(jì)算分析,能夠得到時(shí)間分布示意圖,通過對(duì)曲線圖的分析,能夠明確訪問峰值出現(xiàn)的時(shí)間段,以及訪問量的整體變化趨勢(shì)‘3]。獲得最終的統(tǒng)計(jì)結(jié)果之后,將其與以往總結(jié)的用戶訪問習(xí)慣、日常生活中人們的行為習(xí)慣等進(jìn)行對(duì)比分析,進(jìn)一步驗(yàn)證系統(tǒng)流程的正確性,以及分析結(jié)果的可靠性。

以某搜索網(wǎng)站為例,通過獨(dú)立了訪客統(tǒng)計(jì)需求實(shí)現(xiàn),對(duì)基于Hadoop平臺(tái)下日志分析系統(tǒng)進(jìn)行測(cè)試,數(shù)據(jù)統(tǒng)計(jì)過程中,時(shí)間分布示意圖,由UV統(tǒng)計(jì)組件計(jì)算獲得,圖像顯示,該網(wǎng)站的用戶在每天的10:00~18:00這一時(shí)段,每個(gè)時(shí)間點(diǎn)的訪問量能夠達(dá)到25 000~31 000次;10:00之前的訪問量變化沒有明顯規(guī)律;18:00之后的訪問量則呈現(xiàn)為逐漸降低的變化趨勢(shì)。這與人們的工作、學(xué)習(xí)時(shí)間的總體分布規(guī)律相符,由此證明了系統(tǒng)流程的正確性。

4 結(jié)語(yǔ)

探究基于Hadoop平臺(tái)下日志分析系統(tǒng),有利于更加深入地挖掘日志系統(tǒng),獲得更多有價(jià)值的信息,為相關(guān)統(tǒng)計(jì)決策提供更加可靠的支持。通過相關(guān)分析,基于Hadoop平臺(tái)下的日志分析系統(tǒng),能夠?qū)崿F(xiàn)對(duì)海量數(shù)據(jù)的高效分析與處理,能夠充分滿足當(dāng)前及未來一段時(shí)間內(nèi)的數(shù)據(jù)處理需求,具有較高的實(shí)踐意義。

[參考文獻(xiàn)]

[1]嚴(yán)春景.基于Hadoop平臺(tái)和查詢?nèi)罩镜挠脩粜袨榉治鱿到y(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[D]廣州:廣東工業(yè)大學(xué),2016.

[2]何健偉.基于Hadoop的數(shù)據(jù)挖掘算法研究與實(shí)現(xiàn)[D].北京:北京郵電大學(xué),2015.

[3]陳娜.基于Hadoop平臺(tái)的海量數(shù)據(jù)處理應(yīng)用[D].長(zhǎng)春:吉林大學(xué),2012.