奇酷大數(shù)據(jù):大數(shù)據(jù)分析,主要有哪些核心技術(shù)?
來源:
奇酷教育 發(fā)表于:
大數(shù)據(jù)分析:是指對(duì)規(guī)模巨大的數(shù)據(jù)進(jìn)行分析。大數(shù)據(jù)可以概括為4個(gè)V, 數(shù)據(jù)量大、速度快、類型多、價(jià)值?! 〈髷?shù)據(jù)作為時(shí)下最火熱的IT
大數(shù)據(jù)分析:是指對(duì)規(guī)模巨大的數(shù)據(jù)進(jìn)行分析。大數(shù)據(jù)可以概括為4個(gè)V, 數(shù)據(jù)量大、速度快、類型多、價(jià)值。
大數(shù)據(jù)作為時(shí)下最火熱的IT行業(yè)的詞匯,隨之而來的數(shù)據(jù)倉(cāng)庫(kù)、數(shù)據(jù)安全、數(shù)據(jù)分析、數(shù)據(jù)挖掘等等圍繞大數(shù)據(jù)的商業(yè)價(jià)值的利用逐漸成為行業(yè)人士爭(zhēng)相追捧的利潤(rùn)焦點(diǎn)。隨著大數(shù)據(jù)時(shí)代的來臨,大數(shù)據(jù)分析也應(yīng)運(yùn)而生。那么大數(shù)據(jù)分析有哪些核心技術(shù)呢?下面
奇酷大數(shù)據(jù)為大家淺談大數(shù)據(jù)分析。
1.大數(shù)據(jù)生命周期
數(shù)據(jù)技術(shù)棧底層是基礎(chǔ)設(shè)施,涵蓋計(jì)算資源、內(nèi)存與存儲(chǔ)和網(wǎng)絡(luò)互聯(lián),具體表現(xiàn)為計(jì)算節(jié)點(diǎn)、集群、機(jī)柜和數(shù)據(jù)。在此之上是數(shù)據(jù)存儲(chǔ)和管理,包括文件系統(tǒng)、數(shù)據(jù)庫(kù)和類似YARN的資源管理系統(tǒng)。然后是計(jì)算處理層,如hadoop、MapReduce和Spark,以及在此之上的各種不同計(jì)算范式,如批處理、流處理和圖計(jì)算等,包括衍生出編程模型的計(jì)算模型,如BSP、GAS 等。數(shù)據(jù)分析和可視化基于計(jì)算處理層。分析包括簡(jiǎn)單的查詢分析、流分析以及更復(fù)雜的分析(如機(jī)器學(xué)習(xí)、圖計(jì)算等)。查詢分析多基于表結(jié)構(gòu)和關(guān)系函數(shù),流分析基于數(shù)據(jù)、事件流以及簡(jiǎn)單的統(tǒng)計(jì)分析,而復(fù)雜分析則基于更復(fù)雜的數(shù)據(jù)結(jié)構(gòu)與方法,如圖、矩陣、迭代計(jì)算和線性代數(shù)。 般意義的可視化是對(duì)分析結(jié)果的展示。但是通過交互式可視化,還可以探索性地提問,使分析獲得新的線索,形成迭代的分析和可視化。基于大規(guī)模數(shù)據(jù)的實(shí)時(shí)交互可視化分析以及在這個(gè)過程中引入自動(dòng)化的因素是目前研究的熱點(diǎn)。
有2個(gè)領(lǐng)域垂直打通了上述的各層,需要整體、協(xié)同地看待。 是編程和管理工具,方向是機(jī)器通過學(xué)習(xí)實(shí)現(xiàn)自動(dòng)較優(yōu)化、盡量無需編程、無需復(fù)雜的配置。另 個(gè)領(lǐng)域是數(shù)據(jù)安全,也是貫穿整個(gè)技術(shù)棧。除了這兩個(gè)領(lǐng)域垂直打通各層,還有 些技術(shù)方向是跨了多層的,例如“內(nèi)存計(jì)算”事實(shí)上覆蓋了整個(gè)技術(shù)棧。
2.大數(shù)據(jù)技術(shù)生態(tài)
大數(shù)據(jù)的基本處理流程與傳統(tǒng)數(shù)據(jù)處理流程并無太大差異,主要區(qū)別在于:由于大數(shù)據(jù)要處理大量、非結(jié)構(gòu)化的數(shù)據(jù),所以在各處理環(huán)節(jié)中都可以采用并行處理。目前,Hadoop、MapReduce和Spark等分布式處理方式已經(jīng)成為大數(shù)據(jù)處理各環(huán)節(jié)的通用處理方法。
另外,基于性能、兼容性、數(shù)據(jù)類型的研究,還有Shark、Phoenix、Apache Accumulo、Apache Drill、Apache Giraph、Apache Hama、Apache Tez、Apache Ambari 等其他開源解決方案。預(yù)計(jì)未來相當(dāng)長(zhǎng) 段時(shí)間內(nèi),主流的Hadoop平臺(tái)改進(jìn)后將與各種新的計(jì)算模式和系統(tǒng)共存,并相互融合,形成新 代的大數(shù)據(jù)處理系統(tǒng)和平臺(tái)。
3.大數(shù)據(jù)采集與預(yù)處理
在MapReduce產(chǎn)生數(shù)據(jù)的應(yīng)用系統(tǒng)分類,大數(shù)據(jù)的采集主要有4種來源:管理信息系統(tǒng)、Web信息系統(tǒng)、物理信息系統(tǒng)、科學(xué)實(shí)驗(yàn)系統(tǒng)。對(duì)于不同的數(shù)據(jù)集,可能存在不同的結(jié)構(gòu)和模式,如文件、XML 樹、關(guān)系表等,表現(xiàn)為數(shù)據(jù)的異構(gòu)性。對(duì)多個(gè)異構(gòu)的數(shù)據(jù)集,需要做進(jìn) 步集成處理或整合處理,將來自不同數(shù)據(jù)集的數(shù)據(jù)收集、整理、清洗、轉(zhuǎn)換后,生成到 個(gè)新的數(shù)據(jù)集,為后續(xù)查詢和分析處理提供統(tǒng) 的數(shù)據(jù)視圖。針對(duì)管理信息系統(tǒng)中異構(gòu)數(shù)據(jù)庫(kù)集成技術(shù)、Web 信息系統(tǒng)中的實(shí)體識(shí)別技術(shù)和DeepWeb集成技術(shù)、傳感器網(wǎng)絡(luò)數(shù)據(jù)融合技術(shù)已經(jīng)有很多研究工作,取得了較大的進(jìn)展,已經(jīng)推出了多種數(shù)據(jù)清洗和質(zhì)量控制工具。
4.大數(shù)據(jù)存儲(chǔ)與管理
傳統(tǒng)的數(shù)據(jù)存儲(chǔ)和管理以結(jié)構(gòu)化數(shù)據(jù)為主,因此關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)(RDBMS)可以 統(tǒng)天下滿足各類應(yīng)用需求。大數(shù)據(jù)往往是半結(jié)構(gòu)化和非結(jié)構(gòu)化數(shù)據(jù)為主,結(jié)構(gòu)化數(shù)據(jù)為輔,而且各種大數(shù)據(jù)應(yīng)用通常是對(duì)不同類型的數(shù)據(jù)內(nèi)容檢索、交叉比對(duì)、深度挖掘與綜合分析。面對(duì)這類應(yīng)用需求,傳統(tǒng)數(shù)據(jù)庫(kù)無論在技術(shù)上還是功能上都難以為繼。另外,用Hadoop實(shí)現(xiàn)對(duì)半結(jié)構(gòu)化和非結(jié)構(gòu)化數(shù)據(jù)的處理,以支持諸如內(nèi)容檢索、深度挖掘與綜合分析等新型應(yīng)用。這類混合模式將是大數(shù)據(jù)存儲(chǔ)和管理未來發(fā)展的趨勢(shì)。
5.大數(shù)據(jù)計(jì)算模式與系統(tǒng)
計(jì)算模式的出現(xiàn)有力推動(dòng)了大數(shù)據(jù)技術(shù)和應(yīng)用的發(fā)展,使其成為目前大數(shù)據(jù)處理較為成功、較廣為接受使用的主流大數(shù)據(jù)計(jì)算模式。然而,現(xiàn)實(shí) 中的大數(shù)據(jù)處理問題復(fù)雜多樣,難以有 種單 的計(jì)算模式能涵蓋所有不同的大數(shù)據(jù)計(jì)算需求。研究和實(shí)際應(yīng)用中發(fā)現(xiàn),由于MapReduce主要適合于進(jìn)行大數(shù)據(jù)線下批處理,在面向低延遲和具有復(fù)雜數(shù)據(jù)關(guān)系和復(fù)雜計(jì)算的大數(shù)據(jù)問題時(shí)有很大的不適應(yīng)性。因此,近幾年來學(xué)術(shù)界和業(yè)界在不斷研究并推出多種不同的大數(shù)據(jù)計(jì)算模式。
所謂大數(shù)據(jù)計(jì)算模式,即根據(jù)大數(shù)據(jù)的不同數(shù)據(jù)特征和計(jì)算特征,從多樣性的大數(shù)據(jù)計(jì)算問題和需求中提煉并建立的各種高層抽象或模型。根據(jù)大數(shù)據(jù)處理多樣性的需求和以上不同的特征維度,目前出現(xiàn)了多種典型和重要的大數(shù)據(jù)計(jì)算模式。與這些計(jì)算模式相適應(yīng),出現(xiàn)了很多對(duì)應(yīng)的大數(shù)據(jù)計(jì)算系統(tǒng)和工具。由于單純描述計(jì)算模式比較抽象和空洞,因此在描述不同計(jì)算模式時(shí),將同時(shí)給出相應(yīng)的典型計(jì)算系統(tǒng)和工具,這將有助于對(duì)計(jì)算模式的理解以及對(duì)技術(shù)發(fā)展現(xiàn)狀的把握,并進(jìn) 步有利于在實(shí)際大數(shù)據(jù)處理應(yīng)用中對(duì)合適的計(jì)算技術(shù)和系統(tǒng)工具的選擇使用。
6.大數(shù)據(jù)分析與可視化
在大數(shù)據(jù)時(shí)代,人們迫切希望在由普通機(jī)器組成的大規(guī)模集群上實(shí)現(xiàn)高性能的以機(jī)器學(xué)習(xí)算法為核心的數(shù)據(jù)分析,為實(shí)際業(yè)務(wù)提供服務(wù)和指導(dǎo),進(jìn)而實(shí)現(xiàn)數(shù)據(jù)的較終變現(xiàn)。與傳統(tǒng)的在線聯(lián)機(jī)分析處理OLAP不同,對(duì)大數(shù)據(jù)的深度分析主要基于大規(guī)模的機(jī)器學(xué)習(xí)技術(shù), 般而言,機(jī)器學(xué)習(xí)模型的訓(xùn)練過程可以歸結(jié)為較優(yōu)化定義于大規(guī)模訓(xùn)練數(shù)據(jù)上的目標(biāo)函數(shù)并且通過 個(gè)循環(huán)迭代的算法實(shí)現(xiàn),如圖4所示。因而與傳統(tǒng)的OLAP相比較,基于機(jī)器學(xué)習(xí)的大數(shù)據(jù)分析具有自己獨(dú)特的特點(diǎn)。
基于機(jī)器學(xué)習(xí)的大數(shù)據(jù)分析算法目標(biāo)函數(shù)和迭代優(yōu)化過程
(1)迭代性:由于用于優(yōu)化問題通常沒有閉式解,因而對(duì)模型參數(shù)確定并非 次能夠完成,需要循環(huán)迭代多次逐步逼近較優(yōu)值點(diǎn)。
(2)容錯(cuò)性:機(jī)器學(xué)習(xí)的算法設(shè)計(jì)和模型評(píng)價(jià)容忍非較優(yōu)值點(diǎn)的存在,同時(shí)多次迭代的特性也允許在循環(huán)的過程中產(chǎn)生 些錯(cuò)誤,模型的較終收斂不受影響。
(3)參數(shù)收斂的非均勻性:模型中 些參數(shù)經(jīng)過少數(shù)幾輪迭代后便不再改變,而有些參數(shù)則需要很長(zhǎng)時(shí)間才能達(dá)到收斂。
這些特點(diǎn)決定了理想的大數(shù)據(jù)分析系統(tǒng)的設(shè)計(jì)和其他計(jì)算系統(tǒng)的設(shè)計(jì)有很大不同,直接應(yīng)用傳統(tǒng)的分布式計(jì)算系統(tǒng)應(yīng)用于大數(shù)據(jù)分析,很大比例的資源都浪費(fèi)在通信、等待、協(xié)調(diào)等非有效的計(jì)算上。
傳統(tǒng)的分布式計(jì)算框架MPI(message passing interface,信息傳遞接口)雖然編程接口靈活功能強(qiáng)大,但由于編程接口復(fù)雜且對(duì)容錯(cuò)性支持不高,無法支撐在大規(guī)模數(shù)據(jù)上的復(fù)雜操作,研究人員轉(zhuǎn)而開發(fā)了 系列接口簡(jiǎn)單容錯(cuò)性強(qiáng)的分布式計(jì)算框架服務(wù)于大數(shù)據(jù)分析算法,以MapReduce、Spark和參數(shù)服務(wù)器ParameterServer等為代表。
分布式計(jì)算框架MapReduce將對(duì)數(shù)據(jù)的處理歸結(jié)為Map和Reduce兩大類操作,從而簡(jiǎn)化了編程接口并且提高了系統(tǒng)的容錯(cuò)性。但是MapReduce受制于過于簡(jiǎn)化的數(shù)據(jù)操作抽象,而且不支持循環(huán)迭代,因而對(duì)復(fù)雜的機(jī)器學(xué)習(xí)算法支持較差,基于MapReduce的分布式機(jī)器學(xué)習(xí)庫(kù)Mahout需要將迭代運(yùn)算分解為多個(gè)連續(xù)的Map 和Reduce 操作,通過讀寫HDFS文件方式將上 輪次循環(huán)的運(yùn)算結(jié)果傳入下 輪完成數(shù)據(jù)交換。在此過程中,大量的訓(xùn)練時(shí)間被用于磁盤的讀寫操作,訓(xùn)練效率非常低效。為了解決MapReduce上述問題,Spark 基于RDD 定義了包括Map 和Reduce在內(nèi)的更加豐富的數(shù)據(jù)操作接口。不同于MapReduce 的是Job 中間輸出和結(jié)果可以保存在內(nèi)存中,從而不再需要讀寫HDFS,這些特性使得Spark能更好地適用于數(shù)據(jù)挖掘與機(jī)器學(xué)習(xí)等需要迭代的大數(shù)據(jù)分析算法?;赟park實(shí)現(xiàn)的機(jī)器學(xué)習(xí)算法庫(kù)MLLIB已經(jīng)顯示出了其相對(duì)于Mahout 的優(yōu)勢(shì),在實(shí)際應(yīng)用系統(tǒng)中得到了廣泛的使用。
最后,在大數(shù)據(jù)分析的應(yīng)用過程中,可視化通過交互式視覺表現(xiàn)的方式來幫助人們探索和理解復(fù)雜的數(shù)據(jù)??梢暬c可視分析能夠迅速和有效地簡(jiǎn)化與提煉數(shù)據(jù)流,幫助用戶交互篩選大量的數(shù)據(jù),有助于使用者更快更好地從復(fù)雜數(shù)據(jù)中得到新的發(fā)現(xiàn),成為用戶了解復(fù)雜數(shù)據(jù)、開展深入分析不可或缺的手段。