高聰 熊杰 劉彩云
摘要:該文主要介紹了大數(shù)據(jù)分析的關(guān)鍵技術(shù),以及大數(shù)據(jù)分析在行業(yè)中的應(yīng)用,以期對有關(guān)人員提供參考。
關(guān)鍵詞:大數(shù)據(jù);分布式;機(jī)器學(xué)習(xí);可視化
中圖分類號:TP311 文獻(xiàn)標(biāo)識碼:A
文章編號:1009-3044(2020)05-0005-02
開放科學(xué)(資源服務(wù))標(biāo)識碼(OSID):
近年來,大數(shù)據(jù)迅速發(fā)展已經(jīng)引起了政府、學(xué)術(shù)界和企業(yè)的高度重視,成了全世界都關(guān)注的熱點(diǎn)技術(shù)。大數(shù)據(jù)時(shí)代推動了各行各業(yè)的快速發(fā)展,在快速發(fā)展的過程中會形成海量的數(shù)據(jù),想要獲取數(shù)據(jù)的價(jià)值,就要對數(shù)據(jù)進(jìn)行分析與計(jì)算。每當(dāng)我們在日常生活中做出任何決定,都是通過思考上次發(fā)生了什么或者將要發(fā)生什么來做出決定,這只不過是分析我們的過去或未來,并以此為基礎(chǔ)做出決定。大數(shù)據(jù)分析技術(shù)就是通過對各行各業(yè)收集的數(shù)據(jù)、存儲的數(shù)據(jù),根據(jù)其行業(yè)的特性采用合適的方法進(jìn)行科學(xué)的分析來做出決策。
大數(shù)據(jù)分析被定義為一個(gè)清理、轉(zhuǎn)換和建模數(shù)據(jù)的過程,以發(fā)現(xiàn)對業(yè)務(wù)決策有用的信息。數(shù)據(jù)分析的目的是從數(shù)據(jù)中提取有用的信息,并在數(shù)據(jù)分析的基礎(chǔ)上做出決策。與傳統(tǒng)數(shù)據(jù)相比大數(shù)據(jù)具有五個(gè)特征簡稱5V,即volume(數(shù)據(jù)量大).ve-locity(快速響應(yīng))、variety(種類多樣)、veracity(不易識別)、value(高價(jià)值低密度)[1]。這些特征也是大數(shù)據(jù)分析的挑戰(zhàn),為了應(yīng)對這些挑戰(zhàn),各大互聯(lián)網(wǎng)企業(yè)相繼推出了各種不同類型的大數(shù)據(jù)處理系統(tǒng),在大數(shù)據(jù)行業(yè)發(fā)展的過程中,各種大數(shù)據(jù)分析技術(shù)也得以迅速發(fā)展。本文將簡單介紹一下有代表性的大數(shù)據(jù)處理系統(tǒng)以及分析技術(shù)及其在行業(yè)中的應(yīng)用。
1 大數(shù)據(jù)處理系統(tǒng)
在這個(gè)數(shù)據(jù)爆炸的時(shí)代,產(chǎn)生的數(shù)據(jù)量在不斷地攀升,想要對海量的數(shù)據(jù)進(jìn)行分析,首先要考慮的就是海量數(shù)據(jù)的存儲問題,受限于數(shù)據(jù)的讀寫速度,傳統(tǒng)的數(shù)據(jù)處理平臺很難處理各種類型的大型數(shù)據(jù)集,為了滿足人們的需要,分布式處理系統(tǒng)成了對一定量級的數(shù)據(jù)進(jìn)行分析的必要條件。本節(jié)將介紹一下幾種常見的分布式處理系統(tǒng)。
1.1 Hadoop
Hadoop是一個(gè)開源的并行批量數(shù)據(jù)處理框架與分布式文件系統(tǒng),其核心架構(gòu)是分布式文件系統(tǒng)Hadoop Distributed FileSystem(HDFS)和大規(guī)模并行計(jì)算框架MapReduce,HDFS用來存儲數(shù)據(jù),MapReduce負(fù)責(zé)在各個(gè)數(shù)據(jù)節(jié)點(diǎn)上進(jìn)行計(jì)算。HDFS是一個(gè)分布式的,高擴(kuò)展的,可移植的文件系統(tǒng),通常被用來在多臺機(jī)器上存儲GB到TB級甚至PB級的海量數(shù)據(jù),并通過在多臺機(jī)器上冗余備份數(shù)據(jù)來保證其可靠性,它所具有的高容錯(cuò)性、高可靠性、高可擴(kuò)展性、高獲得性、高吞吐率等特征為海量數(shù)據(jù)提供了不怕故障的存儲,為超大數(shù)據(jù)集的應(yīng)用處理帶來了很多便利。HDFS的具體特點(diǎn)如下:(1)存儲文件量級大:HDFS適合存儲TB級別以上的文件,但是并不適合小文件的存儲;(2)分塊存儲文件:HDFS通過將完整的文件分塊存儲到不同的計(jì)算機(jī)里面來提升文件讀取的效率;(3)流式數(shù)據(jù)訪問:HDFS支持流式數(shù)據(jù)訪問,但是在和MapReduce結(jié)合時(shí),采用的是批處理的方式;(4)布置成本低廉:HDFS可以布置在普通的計(jì)算機(jī)上,這種方式可以通過幾十臺廉價(jià)的PC機(jī)搭建一個(gè)大數(shù)據(jù)集群;(5)容錯(cuò)性:HDFS具有很好的容錯(cuò)性,它通過將一臺主機(jī)上的文件塊副本分配到其他的主機(jī)上,倘若某臺主機(jī)失效可以在其他的主機(jī)上通過文件塊副本迅速取回文件。
MapReduce是一種面向大規(guī)模數(shù)據(jù)的并行批處理計(jì)算模型和方法,普遍應(yīng)用于大規(guī)模數(shù)據(jù)的并行計(jì)算。MapReduce具有如下特點(diǎn):(1)實(shí)現(xiàn)簡單:通過實(shí)現(xiàn)一些簡單的接口,就可以完成分布式計(jì)算程序的布置。(2)擴(kuò)展性良好:可通過增加機(jī)器的數(shù)量來讓它的計(jì)算性能得到提升,隨著計(jì)算機(jī)節(jié)點(diǎn)數(shù)目的增長其計(jì)算性能增長近似于線性;(3)容錯(cuò)性:與HDFS類似MapRe-duce具有較好的容錯(cuò)性,計(jì)算集群中的某一臺機(jī)器出錯(cuò)了,它會自動將計(jì)算任務(wù)轉(zhuǎn)移到其他的機(jī)器上面,保證計(jì)算正常進(jìn)行。以上是MapReduce的優(yōu)點(diǎn),它也有一些明顯的缺點(diǎn)。它并不支持實(shí)時(shí)計(jì)算,也不支持流式數(shù)據(jù)的處理,批處理的設(shè)計(jì)決定了其靜態(tài)數(shù)據(jù)源的特點(diǎn),所以也不支持流式數(shù)據(jù)的處理,并且MapReduce會將它每個(gè)作業(yè)的輸出寫到磁盤里面,在進(jìn)行DGA計(jì)算時(shí)會出現(xiàn)很多的詞頻10導(dǎo)致計(jì)算性能低下。
1.2 Spark
Spark是一個(gè)基于內(nèi)存計(jì)算的可擴(kuò)展的開源集群計(jì)算系統(tǒng),可以用于處理不同數(shù)據(jù)結(jié)構(gòu)大規(guī)模數(shù)據(jù)的處理、計(jì)算任務(wù)。很多人拿它與Hadoop進(jìn)行比較,實(shí)際上它并不提供數(shù)據(jù)存儲的方案,僅僅是Hadoop中MapReduce組件的一種替代和改進(jìn)。與MapReduce相比,它的性能有很大的優(yōu)化,它將計(jì)算過程放入內(nèi)存,不需要反復(fù)讀寫硬盤,算法運(yùn)行速度快。更重要的是,它比MapReduce的操作更簡單,支持的任務(wù)種類更多。計(jì)算機(jī)科學(xué)的發(fā)展是不斷地將問題進(jìn)行抽象,從而讓人能夠在更高的層次解決問題。Spark也是對分布式大數(shù)據(jù)處理的一種抽象,讓工程師或者分析人員能夠不必像寫MapReduce 一樣,太關(guān)注底層的實(shí)現(xiàn)邏輯,從而在處理層次上投入更多精力。Spark在技術(shù)層面兼容存儲層,例如Hadoop中的HDFS這種分布式文件存儲或者M(jìn)ongoDB、Cassandra這類數(shù)據(jù)庫,Spark支持交互式計(jì)算和復(fù)雜算法。它還需要一個(gè)集群的管理器,比如YARN、Me-sos等用來管理相應(yīng)的數(shù)據(jù)處理任務(wù)。當(dāng)然Spark自己也提供集群管理功能,這樣集群的每個(gè)節(jié)點(diǎn)都需要安裝Spark,用于進(jìn)行任務(wù)的編排。
1.3 Storm
Storm是一個(gè)優(yōu)秀的分布式實(shí)時(shí)計(jì)算系統(tǒng),是最佳的流式計(jì)算框架,支持全內(nèi)存計(jì)算,Storm對于實(shí)時(shí)計(jì)算的意義類似于Hadoop對于批處理的意義。Storm有如下特點(diǎn):(1)編程模型簡單,降低了使用Storm開發(fā)業(yè)務(wù)的成本;(2)流式數(shù)據(jù)處理,Storm可以用來處理持續(xù)不斷流人的數(shù)據(jù),然后將處理之后的結(jié)果寫入存儲;(3)容錯(cuò)性,Storm具有很好的容錯(cuò)機(jī)制,出錯(cuò)時(shí)可通過自動重啟以及任務(wù)重分配來保證計(jì)算正常進(jìn)行;(4)多語言編程,Storm支持多種語言編程,通過實(shí)現(xiàn)Storm通信協(xié)議就可以支持其他的編程語言;(5)消息處理快速可靠,Storm消息傳遞以及處理的速度均非常快,并且保證每條消息都至少得到一次完整的處理[1]。
2 大數(shù)據(jù)分析技術(shù)
想要發(fā)掘出大數(shù)據(jù)中蘊(yùn)含的價(jià)值,不僅需要各種大數(shù)據(jù)處理系統(tǒng)的支持,還需要對大數(shù)據(jù)的內(nèi)容進(jìn)行分析與計(jì)算。本節(jié)主要介紹機(jī)器學(xué)習(xí)、可視化技術(shù)在大數(shù)據(jù)分析中的作用。
2.1 機(jī)器學(xué)習(xí)
機(jī)器學(xué)習(xí)是發(fā)掘數(shù)據(jù)價(jià)值的關(guān)鍵技術(shù),其通過大量的數(shù)據(jù)來訓(xùn)練它的算法模型,然后通過模型對數(shù)據(jù)進(jìn)行分析處理。傳統(tǒng)的機(jī)器學(xué)習(xí)的問題主要包括:(1)學(xué)習(xí)并模擬人類的學(xué)習(xí)過程;(2)計(jì)算機(jī)系統(tǒng)與人類用戶之間的自然語言接口的研究;(3)對不完整的信息進(jìn)行推理的能力;(4)構(gòu)造可發(fā)現(xiàn)新事物的程序[2]。機(jī)器學(xué)習(xí)的核心是“通過選擇科學(xué)的算法解析相關(guān)數(shù)據(jù),然后學(xué)習(xí),進(jìn)而對相關(guān)業(yè)務(wù)做出決測”,也就是說與其明確地編寫程序來完成特定任務(wù),不如教計(jì)算機(jī)開發(fā)用于完成任務(wù)的算法。機(jī)械學(xué)習(xí)主要被分為如下幾類:監(jiān)督學(xué)習(xí)、無監(jiān)督學(xué)習(xí)和強(qiáng)化學(xué)習(xí):(a)監(jiān)督學(xué)習(xí)就是人工給定大量有標(biāo)記的數(shù)據(jù)讓機(jī)器分析以期達(dá)到識別數(shù)據(jù)的目的,回歸分析和統(tǒng)計(jì)分類是常見的監(jiān)督學(xué)習(xí)算法;(b)無監(jiān)督學(xué)習(xí)輸入的數(shù)據(jù)沒有標(biāo)記,樣本數(shù)據(jù)的類型并不確定,通過樣本的相似性對樣本集進(jìn)行聚類,通過數(shù)據(jù)集發(fā)現(xiàn)其中的規(guī)律,實(shí)現(xiàn)分析識別的目的;(c)強(qiáng)化學(xué)習(xí)的本質(zhì)是教會計(jì)算機(jī)自動進(jìn)行決策,并且連續(xù)的做出決策,其理論框架是馬科夫決策過程(MDP)。
2.2 可視化分析
對大數(shù)據(jù)進(jìn)行分析最終的目的是發(fā)現(xiàn)數(shù)據(jù)中的規(guī)律,進(jìn)而幫助做出決策,大量的數(shù)據(jù)不進(jìn)行可視化處理往往難以理解,可視化分析技術(shù)可以將數(shù)據(jù)以一種容易理解的方式呈現(xiàn)出來,它對抽象信息進(jìn)行處理通過計(jì)算機(jī)直觀的表示,幫助用戶快速地理解信息并發(fā)現(xiàn)其中的規(guī)律做出合理的判斷。以下是數(shù)據(jù)可視化的幾種類型:(1)文本可視化:文本可視化可以較為直觀地展示出文本的優(yōu)勢以及特點(diǎn);(2)網(wǎng)絡(luò)可視化:對大數(shù)據(jù)進(jìn)行分析的過程中網(wǎng)絡(luò)關(guān)聯(lián)是較為常見的一種關(guān)系,依據(jù)連接拓?fù)浜途W(wǎng)絡(luò)節(jié)點(diǎn)之間的關(guān)系,將隱藏于網(wǎng)絡(luò)中的關(guān)系直觀的展示出來;(3)時(shí)空數(shù)據(jù)可視化,時(shí)空數(shù)據(jù)主要是指具備一定時(shí)間標(biāo)簽和地理位置的數(shù)據(jù),大數(shù)據(jù)時(shí)代發(fā)展模式下,時(shí)空數(shù)據(jù)具備實(shí)時(shí)性和高維性,同時(shí)這也是數(shù)據(jù)可視化的重點(diǎn);(4)多維數(shù)據(jù)可視化。多維數(shù)據(jù)可視化實(shí)際上就是說擁有很多個(gè)維度的數(shù)據(jù)變量,在數(shù)據(jù)倉庫以及數(shù)據(jù)庫中具有廣泛的應(yīng)用[3]。
3 大數(shù)據(jù)分析業(yè)務(wù)場景
3.1 推薦系統(tǒng)
推薦系統(tǒng)作為一種有效的信息過濾手段,是當(dāng)前解決信息過載問題及實(shí)現(xiàn)個(gè)性化信息服務(wù)的有效方法之一[4]。目前,主流推薦系統(tǒng)可以分為4類:協(xié)同過濾推薦、基于內(nèi)容的推薦、基于知識的推薦和組合推薦。
3.2 信用風(fēng)險(xiǎn)建模
風(fēng)險(xiǎn)管理大數(shù)據(jù)分析將個(gè)人的外部數(shù)據(jù)與公司內(nèi)部的詐騙偵查算法相結(jié)合,能偵查出信用風(fēng)險(xiǎn)或非法使用顧客賬戶情況,快速處理相關(guān)信息。在信用風(fēng)險(xiǎn)建模中,可以根據(jù)實(shí)際需求采用多種不同的分析建模技術(shù)。
3.3 傳感大數(shù)據(jù)分析
在制造類企業(yè)中,傳感器、遙測器和條形碼在生產(chǎn)過程中廣泛應(yīng)用。通過對這些遙測數(shù)據(jù)進(jìn)行分析,能識別出有用的使用模式,從而提高生產(chǎn)效率[5]。例如:通過條形碼,能跟蹤生產(chǎn)過程和顧客訂貨,從中挖掘出相關(guān)信息。衛(wèi)生保健公司通過對病人的一些關(guān)鍵指標(biāo)進(jìn)行監(jiān)控和測量,能減少訪問,提高病人健康水平。與外部社交數(shù)據(jù)不同,來自傳感器的大數(shù)據(jù)公司可直接管理。
4 小結(jié)
大數(shù)據(jù)具有眾多特性,導(dǎo)致傳統(tǒng)的處理方式無法對其進(jìn)行分析,本文主要介紹了幾個(gè)有代表性大數(shù)據(jù)處理系統(tǒng),介紹了機(jī)器學(xué)習(xí)、可視化分析等大數(shù)據(jù)分析技術(shù),并對大數(shù)據(jù)在幾個(gè)行業(yè)中的應(yīng)用進(jìn)行了簡單的介紹。
參考文獻(xiàn):
[1]程學(xué)旗,靳小龍,王元卓,等,大數(shù)據(jù)系統(tǒng)和分析技術(shù)綜述[J].軟件學(xué)報(bào),2014,25(9):1889-1908.
[2]何清,李寧,羅文娟,等,大數(shù)據(jù)下的機(jī)器學(xué)習(xí)算法綜述[J].模式識別與人工智能,2014,27(4):327-336.
[3]路晶,大數(shù)據(jù)可視分析研究綜述[J].科技展望,2015,25(16):20.
[4]沈榮,張保文.大數(shù)據(jù)分析和大數(shù)據(jù)處理技術(shù)研究綜述[J].電腦知識與技術(shù),2019,15(11):13-16.
[5]武永成.基于云計(jì)算的大數(shù)據(jù)處理與分析綜述[J].軟件導(dǎo)刊,2016,15(12):161-163.
【通聯(lián)編輯:光文玲】
收稿日期:2019 -11-10
基金項(xiàng)目:本研究受湖北省教育廳科學(xué)技術(shù)項(xiàng)目(B2016034);湖北省教研項(xiàng)目(2017294);湖北省高校實(shí)驗(yàn)室工作研究會項(xiàng)目(HB-SY2017-04)聯(lián)合資助
作者簡介:高聰(1996-),男,湖北黃岡人,長江大學(xué)碩士研究生,主要研究方向?yàn)榇髷?shù)據(jù)、云計(jì)算、人工智能等;通訊作者:熊杰(1975—),男,博士、副教授、研究生導(dǎo)師,主要研究方向?yàn)槿斯ぶ悄?、?jì)算機(jī)應(yīng)用等方面的教學(xué)和研究工作。