楊帆



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