楊帆
摘要:這些年隨著大數(shù)據(jù)時代的到來,企業(yè)的數(shù)據(jù)量在成倍的增長,互聯(lián)網(wǎng)的普遍性和廣泛應(yīng)用賦予了大數(shù)據(jù)四大特征,分別為數(shù)據(jù)量大、數(shù)據(jù)類型多、處理速度極快以及價值密度低。而傳統(tǒng)的單機模式在面對處理具有這些特性的大數(shù)據(jù)時顯得力不從心,不僅存在著運算效率低下的問題,而且并不能很好的容納不同類型的數(shù)據(jù),擴展性較差。針對以上所述問題,采用云計算的技術(shù)建立大數(shù)據(jù)挖掘分析平臺,對數(shù)據(jù)進(jìn)行廣泛的價值挖掘,從而提供科學(xué)的企業(yè)決策依據(jù),是當(dāng)今大數(shù)據(jù)平臺構(gòu)建的主要目的。本文將基于Hadoop對大數(shù)據(jù)平臺構(gòu)建的關(guān)鍵技術(shù)點進(jìn)行分析,將會從數(shù)據(jù)的采集、框架計算、結(jié)果分析輸出以及并行的數(shù)據(jù)算法等方面對技術(shù)的標(biāo)準(zhǔn)化進(jìn)行調(diào)研和分析。
關(guān)鍵詞:大數(shù)據(jù)分析;Hadoop平臺;關(guān)鍵技術(shù);標(biāo)準(zhǔn)化
中圖分類號:TP393 ? ? ? ?文獻(xiàn)標(biāo)識碼:A
文章編號:1009-3044(2019)15-0028-03
傳統(tǒng)數(shù)據(jù)的挖掘分析和處理方法在大數(shù)據(jù)時代遇到不可解決的障礙。目前已有的產(chǎn)業(yè)行業(yè)發(fā)展過程中,當(dāng)大數(shù)據(jù)問世之后都對其產(chǎn)生了較大的依賴性,因此在這樣的倒逼狀態(tài)下大數(shù)據(jù)分析行業(yè)也得到了快速的發(fā)展。在各項分析平臺當(dāng)中,Hadoop尤其受到各方面的關(guān)注,各大廠商都對該平臺進(jìn)行相對于自身的優(yōu)化和定制化改造,這樣的改造雖然能夠為企業(yè)創(chuàng)造更大的價值,但是隨之而來的還有數(shù)據(jù)接口標(biāo)準(zhǔn)以及分析數(shù)據(jù)服務(wù)標(biāo)準(zhǔn)的不統(tǒng)一等問題。這些困難也阻礙了目前數(shù)據(jù)分析技術(shù)的深入研究。因此,基于Hadoop平臺的標(biāo)準(zhǔn)化工作在該產(chǎn)業(yè)發(fā)展遇難的過程中引來了專業(yè)領(lǐng)域人才們的關(guān)注。由于目前的大數(shù)據(jù)分析行業(yè)缺少在國際社會上普遍認(rèn)可的標(biāo)準(zhǔn),同時對于分析系統(tǒng)當(dāng)中的接口以及細(xì)節(jié)沒有產(chǎn)生統(tǒng)一定義,因此本文的主要目的就在于通過對各項數(shù)據(jù)的研究比對得出有關(guān)該行業(yè)中各項關(guān)鍵性技術(shù)標(biāo)準(zhǔn)化的可行方案,以便進(jìn)行過標(biāo)準(zhǔn)化工作后的數(shù)據(jù)能夠靈活地運用與各項需求中。
1 當(dāng)前大數(shù)據(jù)產(chǎn)業(yè)的主要障礙與矛盾
目前大數(shù)據(jù)分析產(chǎn)業(yè)在發(fā)展中遇到的主要障礙主要是基于Hadoop平臺的分析系統(tǒng)所提供的接口以及分析服務(wù)的標(biāo)準(zhǔn)都不盡相同。各個數(shù)據(jù)分析處理廠商對大數(shù)據(jù)在其處理挖掘數(shù)據(jù)價值的過程當(dāng)中,都會有處理流程上的區(qū)別,在數(shù)據(jù)的采集、并行分析、算法以及數(shù)據(jù)展示這三個環(huán)節(jié)尤其各不相同。國際上對接口標(biāo)準(zhǔn)以及服務(wù)標(biāo)準(zhǔn)的規(guī)范與要求的缺失使得關(guān)鍵技術(shù)的應(yīng)用難以統(tǒng)一,主要表現(xiàn)為以下問題:
首先,大數(shù)據(jù)系統(tǒng)化服務(wù)分析缺乏統(tǒng)一的服務(wù)規(guī)范以及接口。
其次,統(tǒng)一標(biāo)準(zhǔn)缺乏的原因,分析的結(jié)果以及數(shù)據(jù)無法在各大廠商之間通用,各個分析系統(tǒng)對數(shù)據(jù)結(jié)果有著不同的定義方法,因此即使對不同的問題數(shù)據(jù)場景進(jìn)行分析的廠商是同一家,其結(jié)果的定義也不盡相同。這對相關(guān)業(yè)務(wù)的發(fā)展和數(shù)據(jù)共享的精神有著嚴(yán)重的負(fù)面影響。
除此之外,服務(wù)標(biāo)準(zhǔn)以及接口的不統(tǒng)一會對該產(chǎn)業(yè)的長遠(yuǎn)發(fā)展產(chǎn)生深刻影響。不同的標(biāo)準(zhǔn)服務(wù)以及接口同時并行,那么基于Hadoop分析的GUI可視化操作以及維護方法等都需要對關(guān)鍵技術(shù)進(jìn)行不同的優(yōu)化以達(dá)到適配效果,這就使得大數(shù)據(jù)行業(yè)的關(guān)鍵力量在發(fā)展過程的當(dāng)中被迫分散,對該行業(yè)的發(fā)展速度有負(fù)面影響。
2 典型數(shù)據(jù)分析系統(tǒng)架構(gòu)
在經(jīng)過對多個基于Hadoop大數(shù)據(jù)分析平臺系統(tǒng)的對比,我們可以發(fā)現(xiàn)在平臺系統(tǒng)的功能以及接口標(biāo)準(zhǔn)上雖然存在不統(tǒng)一的情況,但是經(jīng)過對比的幾個平臺模式都是統(tǒng)一的,如下圖所示:
1)數(shù)據(jù)采集
數(shù)據(jù)采集是將經(jīng)過業(yè)務(wù)系統(tǒng)的用戶已授權(quán)開放使用數(shù)據(jù)采集到 Hadoop分析系統(tǒng)當(dāng)中,這個過程并不在 Hadoop平臺當(dāng)中實現(xiàn),但是在整個大數(shù)據(jù)分析的過程當(dāng)中卻占有重要地位,連接著業(yè)務(wù)系統(tǒng)以及分析系統(tǒng),實現(xiàn)其兩者之間的解耦工作。
2)分布式儲存
分布式儲存在大數(shù)據(jù)分析平臺當(dāng)中是儲存內(nèi)容的重要支撐,所有基于Hadoop平臺的反洗系統(tǒng)所使用的支撐儲存子系統(tǒng)基本上為HDFS ,但同時也可以選擇其他類型的云儲存作為儲存子系統(tǒng)。
3)并行計算框架
并行計算框架是基于Hadoop大數(shù)據(jù)分析平臺系統(tǒng)的核心功能,它的作用在于提高該系統(tǒng)的分析效率,能夠統(tǒng)一時間支持多臺數(shù)據(jù)分析服務(wù)器的運作。
4)并行分析算法
傳統(tǒng)的算法分析方法在復(fù)雜的大數(shù)據(jù)面前是無法應(yīng)用的,只能基于 Hadoop并行分析算法的框架才能夠?qū)崿F(xiàn)并行化,然后在Hadoop分析系統(tǒng)中進(jìn)行運行。與Hadoop結(jié)合較好的算法有Mahout、R語言以及我國學(xué)術(shù)界專業(yè)領(lǐng)域?qū)τ贖adoop進(jìn)行針對優(yōu)化之后產(chǎn)生的并行算法。
5)分析結(jié)果展示
分析結(jié)果的展示是指對整體流程進(jìn)行大數(shù)據(jù)的分析之后,得出分析結(jié)果并且以分析結(jié)果為依據(jù),提供給業(yè)務(wù)系統(tǒng)決策依據(jù)。一般的分析結(jié)果有統(tǒng)計結(jié)果以及數(shù)據(jù)分析結(jié)果兩種。
3 主流關(guān)鍵技術(shù)對比以及標(biāo)準(zhǔn)化工作建議
我國的大數(shù)據(jù)挖掘、分析、處理等技術(shù)并沒有形成一個成熟的大數(shù)據(jù)行業(yè)體系,而國際上并沒有對相關(guān)技術(shù)的標(biāo)準(zhǔn)化提出明顯簡介。但是由于該技術(shù)的重要性以及高價值性,業(yè)內(nèi)已經(jīng)開始推動大數(shù)據(jù)分析技術(shù)相關(guān)服務(wù)的標(biāo)準(zhǔn)化工作,其中最具代表性的成果之一就是開放數(shù)據(jù)中心聯(lián)盟推出的《大數(shù)據(jù)消費者指導(dǎo)手冊》,其主要目標(biāo)在于推動大數(shù)據(jù)分析行業(yè)的標(biāo)準(zhǔn)化。而網(wǎng)絡(luò)儲存工業(yè)協(xié)會也發(fā)布了大數(shù)據(jù)云儲存的標(biāo)準(zhǔn),儲存標(biāo)準(zhǔn)的具體化為大數(shù)據(jù)分析行業(yè)發(fā)展以及標(biāo)準(zhǔn)化提供了基礎(chǔ)。在大數(shù)據(jù)分析的整個程序當(dāng)中總結(jié)經(jīng)驗并提煉出Hadoop平臺的相關(guān)意見并進(jìn)行總結(jié),將會對這一平臺的持續(xù)性發(fā)展以及大數(shù)據(jù)分析行業(yè)的發(fā)展有重要意義。
3.1 數(shù)據(jù)采集
目前主要的數(shù)據(jù)采集工具有Flume、Scribe、Kafka、Time Tunnel等,而這些平臺也都實現(xiàn)了對Hadoop的對接和上載功能。筆者在此次的研究分析當(dāng)中選擇了Flume以及Scribe,現(xiàn)在Flume已經(jīng)是Apache的孵化項目。
相似點:在業(yè)務(wù)系統(tǒng)對數(shù)據(jù)抓取的節(jié)點當(dāng)中應(yīng)用PUSH存儲,也就是利用了該框架實現(xiàn);兩個數(shù)據(jù)采集工具在架構(gòu)上都包括了agent、collector、storage三大核心組件;實現(xiàn)數(shù)據(jù)用過Thrift接口同步;都形成分布式的高可用并且可擴展采集系統(tǒng)。
不同點:Flume 支持多 master,沒有單點故障;Scribe 只支持 Thrift 接口并且需要經(jīng)由業(yè)務(wù)系統(tǒng)才能夠?qū)崿F(xiàn);Flume 所提供的agent十分豐富多樣并且都可以直接使用;Flume 還能夠提供豐富的數(shù)據(jù)源功能。
在接口方面,上文提到Scribe 只支持 Thrift 接口,并且數(shù)據(jù)收集最后到Scribe的服務(wù)系統(tǒng)端上。而Flume支持各種數(shù)據(jù)接口,如下圖所示:
從以上對比來看,Scribe提供的接收接口消息只有一個,那么在來源處理方面就需要有根據(jù)該接口進(jìn)行的大量應(yīng)用系統(tǒng)定制工作。Flume提供的數(shù)據(jù)語言功能比較。全面并且相較于Scribe非常靈活,能夠與多種平臺進(jìn)行對接。同時在文本處理監(jiān)控以及端口監(jiān)聽方面能夠無條件適用,與各種主流社交平臺的插件對接,該系統(tǒng)可以以零再次開發(fā)的狀態(tài)進(jìn)行直接使用。
從以上對比可以看出,大量數(shù)據(jù)的采集標(biāo)準(zhǔn)化方法可以。從接口以及系統(tǒng)架構(gòu)兩個角度切入。數(shù)據(jù)采集的標(biāo)準(zhǔn)化建構(gòu)可以基于PUSH以及包含agent、collector、storage三大核心組件并且支持分布可擴展等的模型架構(gòu)來進(jìn)行,而接口則可以根據(jù)Rest、Thrift 接口進(jìn)行標(biāo)準(zhǔn)化設(shè)計。
3.2 并行計算框架
基于 Hadoop 平臺的并行計算框架主要有:MAPREDUCE 以及 YARN。并行計算框架的主要作用是,給編程提供API接口,同時平臺的任務(wù)需要基于API接口完成任務(wù)的并行計算。MAPREDUCE和 YARN 的主要計算接口比較如下圖:
從上圖對比結(jié)果分析可知,兩個主要的并行框架接口層方面是基本相同的,這對于業(yè)務(wù)系統(tǒng)的接口來說是統(tǒng)一的。
由于目前的大數(shù)據(jù)分析系統(tǒng)的運行必須在并行計算框架的技術(shù)支撐之下才能夠整體完成,因而對計算機框架進(jìn)行優(yōu)化是大數(shù)據(jù)分析標(biāo)準(zhǔn)化的基礎(chǔ)一環(huán)。上述的對比表格經(jīng)分析后可得出并行計算框架接口提供的一致性使得服務(wù)框架標(biāo)準(zhǔn)化絕對可行,除此之外在具體的接口處理情況當(dāng)中,可以通過java、rest、C、thrift 等接口方式幫助接口在定義上的調(diào)整,以做好標(biāo)準(zhǔn)化的準(zhǔn)備。
3.3 并行算法
數(shù)據(jù)分析系統(tǒng)的算法需要在Hadoop并行計算框架上進(jìn)行并行化,只有該工作實現(xiàn)才能夠通過并行算法覆蓋各個類別、分類以及貝葉斯等包含大部分的數(shù)據(jù)深度挖掘方法。目前相對于Hadoop比較流行的算法工具有Mahout和R。
Mahout作為數(shù)據(jù)去挖掘,以及機器在挖掘過程中學(xué)習(xí)的。一個分布式框架在基于Hadoop平臺的開發(fā)與設(shè)計算法工具庫中實現(xiàn)的算法主要有分類,聚類以及協(xié)同過濾,其普遍適用程度基本上可以覆蓋已有的可供分布式的算法。
而在R語言方面,目前已經(jīng)存在連接開源R 與 Hadoop之間的連接器,使得其二者可以進(jìn)行數(shù)據(jù)共享以及深度數(shù)據(jù)挖掘的分析。在對R語言特性進(jìn)行一定程度的繼承的同時,又能夠利用Hadoop分布式計算環(huán)境為已有數(shù)據(jù)提供并行算法。
R語言作為Mahout通用算法庫里面的一個編程環(huán)境和語言分支本身就充斥著較大數(shù)量的第三方包,這就方便開發(fā)者能夠基于R語言工具對算法進(jìn)行分析開發(fā)。
3.4 數(shù)據(jù)可視化
數(shù)據(jù)可視化是對大數(shù)據(jù)的結(jié)果進(jìn)行分析后呈現(xiàn)出的統(tǒng)計結(jié)果,以及數(shù)據(jù)挖掘分析結(jié)果的圖表展示。Hadoop目前只對大數(shù)據(jù)分析系統(tǒng)提供同步的。主要框架進(jìn)行計算。在該平臺之上進(jìn)行結(jié)果分析,通常有兩種形式,分別為采用文本文件方式存儲在 HDFS、Key-Value 方式存儲在HBASE,除這兩種形式之外,有時也會將數(shù)據(jù)分析的系統(tǒng)結(jié)果儲存到相應(yīng)的關(guān)系型數(shù)據(jù)庫當(dāng)中。通過以數(shù)據(jù)分析結(jié)果為依據(jù)的各個廠商都可以以不同的形式呈現(xiàn)出個性化的可視化展示。
由于廠商的不同,會面對不同的客戶需求,因此在數(shù)據(jù)可視化方面千差萬別是可以被允許的。這符合市場的多樣性特征。故在數(shù)據(jù)可視化這一環(huán)節(jié)并不建議進(jìn)行統(tǒng)一的標(biāo)準(zhǔn)化工作約束。
4 總結(jié)
在大數(shù)據(jù)到來的時代,大數(shù)據(jù)應(yīng)當(dāng)成為我們生活當(dāng)中可利用的一部分。那么為了更好地實現(xiàn)對大數(shù)據(jù)術(shù)的利用,構(gòu)建Hadoop數(shù)據(jù)處理平臺進(jìn)行分析就是利用大數(shù)據(jù)的重要一環(huán),本文所研究的Hadoop處理平臺屬于當(dāng)前大數(shù)據(jù)分析系統(tǒng)領(lǐng)域中最主流以及應(yīng)用最廣泛的處理平臺,它將儲存管理以及分布式計算融為一體,與多個主流用戶的應(yīng)用平臺可以進(jìn)行無條件對接,因此在該平臺的構(gòu)建與研究上進(jìn)行深入非常有必要。
本文通過提出大數(shù)據(jù)產(chǎn)業(yè)發(fā)展的主要問題,分析大數(shù)據(jù)系統(tǒng)架構(gòu)模型的典型來對數(shù)據(jù)采集、分布式儲存、并行計算框架、并行分析算法、分析結(jié)果展示等進(jìn)行充分說明與研究后提出了針對數(shù)據(jù)采集、并行計算框架以及并行算法三個方面的標(biāo)準(zhǔn)化建議。
當(dāng)前我國大數(shù)據(jù)業(yè)務(wù)隨著該類平臺的開發(fā)持續(xù)進(jìn)行開展,而Hadoop 平臺也在這樣的過程中越來越被各大廠商所關(guān)注。并且各廠商開始對該平臺進(jìn)行有針對的自身改造,以便符合各廠的使用習(xí)慣和最大化完成使用需求。而對該平臺的改造又導(dǎo)致這個并未完全成熟,還沒有統(tǒng)一標(biāo)準(zhǔn)的大數(shù)據(jù)分析行業(yè)變得差異化更加嚴(yán)重,使得基于Hadoop的大數(shù)據(jù)分析平臺對于標(biāo)準(zhǔn)化工作的進(jìn)行需求愈加緊急。當(dāng)前如果要對我國市場當(dāng)中的基于Hadoop平臺執(zhí)行標(biāo)準(zhǔn)化,必須考慮到在使用大數(shù)據(jù)分析的整個動態(tài)系統(tǒng)圈中,中國市場具有的特殊性以及中國人的使用和觀看習(xí)慣?,F(xiàn)代化分析體系標(biāo)準(zhǔn)化將會有利于各個大中小企業(yè)進(jìn)入可以“以負(fù)擔(dān)得起的成本”使用大數(shù)據(jù)分析以促進(jìn)細(xì)分市場精準(zhǔn)定位以及精準(zhǔn)營銷之外,就是促進(jìn)大數(shù)據(jù)產(chǎn)業(yè)這個新興行業(yè)的蓬勃與發(fā)展之外,對其他產(chǎn)業(yè)的促進(jìn)作用也不可小覷。
參考文獻(xiàn):
[1] 李偉,孫新杰,武晉民.基于Hadoop的大數(shù)據(jù)分析平臺構(gòu)建研究[J].信息通信,2017(8):247-248.
[2] 王子毅,張春海. 基于ECharts的數(shù)據(jù)可視化分析組件設(shè)計實現(xiàn)[J].微型機與應(yīng)用,2016(14).
[3] 李巍巍.基于云計算的大數(shù)據(jù)統(tǒng)一分析平臺設(shè)計與應(yīng)用[J].自動化與儀器儀表,2016(08).
[4] 楊美沂,林勇.大數(shù)據(jù)背景下基于云計算的政府統(tǒng)計平臺構(gòu)建[J].統(tǒng)計與決策, 2016(04).
[5] 林昕.基于云計算的大數(shù)據(jù)挖掘平臺構(gòu)建研究[J].山東工業(yè)技術(shù),2015(17).
[6] 李國杰,程學(xué)旗.大數(shù)據(jù)研究:未來科技及經(jīng)濟社會發(fā)展的重大戰(zhàn)略領(lǐng)域——大數(shù)據(jù)的研究現(xiàn)狀與科學(xué)思考[J]. 中國科學(xué)院院刊,2012(6).
【通聯(lián)編輯:唐一東】