許佳勝 李若白 劉立云 王昊天 河北農(nóng)業(yè)大學(xué)信息科學(xué)與技術(shù)學(xué)院
從字面意義上來看,大數(shù)據(jù)表示數(shù)量上數(shù)據(jù)規(guī)模的龐大,但是我們無法將其區(qū)別于以往的名詞如“海量數(shù)據(jù)”,但我們可以從其特征來深入的理解。
一般來說大數(shù)據(jù)有三個(gè)特征,分別是規(guī)模性、多樣性和高速性。規(guī)模性指數(shù)據(jù)的規(guī)模和容量巨大;多樣性指數(shù)據(jù)的類型多種多樣,包括結(jié)構(gòu)化的和無結(jié)構(gòu)化的數(shù)據(jù);高速性是指數(shù)據(jù)的增長(zhǎng)速度非???,在增長(zhǎng)的高峰期接近于指數(shù)級(jí)增長(zhǎng)。我們?cè)趯?shí)際應(yīng)用過程中應(yīng)該首要理解大數(shù)據(jù)的這些特征,再進(jìn)行下一步分析。
大數(shù)據(jù)的處理模式分為兩種,一種是流處理,一種是批處理。流是一種數(shù)據(jù)傳送技術(shù),它把客戶端產(chǎn)生的數(shù)據(jù)轉(zhuǎn)變成穩(wěn)定的數(shù)據(jù)流,所以流處理的處理方式為直接處理,而批處理,顧名思義,則是對(duì)數(shù)據(jù)進(jìn)行批量的處理。
提出流處理的基本概念是人們普遍認(rèn)為在數(shù)據(jù)的處理過程中數(shù)據(jù)的價(jià)值會(huì)隨著時(shí)間的推移而逐漸減少,所以需要盡可能快的處理實(shí)時(shí)產(chǎn)生的數(shù)據(jù)??蛻舳私舆B不斷產(chǎn)生的數(shù)據(jù)構(gòu)成了流處理的原材料——數(shù)據(jù)流,數(shù)據(jù)流中的數(shù)據(jù)會(huì)根據(jù)數(shù)據(jù)產(chǎn)生的時(shí)間依次被系統(tǒng)處理并返回結(jié)果。
由于數(shù)據(jù)流具有持續(xù)性、快速性和規(guī)模大的特點(diǎn),系統(tǒng)一方面不可能對(duì)傳送的所有數(shù)據(jù)永久性的存儲(chǔ),另一方面接受到的數(shù)據(jù)又處在不斷變化當(dāng)中,所以往往做到數(shù)據(jù)的實(shí)時(shí)處理具有一定的難度。流處理一般是在內(nèi)存中完成的,但內(nèi)存的容量是有限的,這成為縮短響應(yīng)時(shí)間的一個(gè)很大的瓶頸。數(shù)據(jù)流理論和技術(shù)的提出已經(jīng)有十幾年,人們目前已經(jīng)研究出了很多實(shí)際的系統(tǒng)應(yīng)用,例如Facebook 的 Scribe、Apache的Flume、Twitter的 Storm等。
數(shù)據(jù)的批處理,可以通俗理解為在數(shù)據(jù)輸入處理過程中成批次的并行處理,處理之后的結(jié)果再轉(zhuǎn)化成最終的結(jié)果輸出,Google的MapReduce模式是目前批處理模式中比較成功的一種,下面簡(jiǎn)單介紹其處理流程:
待處理的數(shù)據(jù)先要進(jìn)行分批處理,經(jīng)過分批后的每個(gè)數(shù)據(jù)塊再轉(zhuǎn)交給相應(yīng)的Map任務(wù)區(qū),Map任務(wù)區(qū)首先把數(shù)據(jù)塊中的數(shù)據(jù)解析成一個(gè)個(gè)的鍵值對(duì),然后利用Map函數(shù)處理這些鍵值對(duì)并把結(jié)果存儲(chǔ)到硬盤。接下來,Reduce任務(wù)負(fù)責(zé)把這些鍵值對(duì)按照鍵值排好序,將具有相同鍵值的數(shù)據(jù)組合在一起,之后調(diào)用Reduce函數(shù)來產(chǎn)生最終的結(jié)果。Map函數(shù)和Reduce函數(shù)是該模型的核心,通過定義這兩個(gè)函數(shù)可以將模型按照相應(yīng)的規(guī)則來處理大規(guī)模數(shù)據(jù)。目前該模型由于其簡(jiǎn)單性和適用廣泛性已普遍應(yīng)用于生物信息,文本挖掘等領(lǐng)域。
雖然大數(shù)據(jù)的來源廣泛,包括交易數(shù)據(jù)、移動(dòng)通信數(shù)據(jù)、機(jī)器檢測(cè)數(shù)據(jù)、互聯(lián)網(wǎng)上的開放數(shù)據(jù)等等,但大數(shù)據(jù)處理的基本流程是一樣的。流程可分為三個(gè)階段:數(shù)據(jù)的抽取與集成、數(shù)據(jù)分析以及數(shù)據(jù)解釋。
由于大數(shù)據(jù)的來源廣泛,首先要從數(shù)據(jù)源中抽取出關(guān)系和實(shí)體,再將其經(jīng)過關(guān)聯(lián)后采用統(tǒng)一的結(jié)構(gòu)來進(jìn)行存儲(chǔ)。在數(shù)據(jù)的抽取和集成的過程中同時(shí)還要注意到對(duì)數(shù)據(jù)的清洗工作,以此來保證數(shù)據(jù)的準(zhǔn)確性和可靠性。
數(shù)據(jù)的抽取和集成技術(shù)到目前還在不斷發(fā)展之中,比較常見的數(shù)據(jù)抽取工具有可通過圖形界面把抽取的數(shù)據(jù)再次過濾的Import.io,支持跨平臺(tái)抽取的Parsehub等。
數(shù)據(jù)分析階段的輸入為在數(shù)據(jù)的抽取與集成階段形成的有結(jié)構(gòu)的數(shù)據(jù),在實(shí)際應(yīng)用中可根據(jù)需求不同有選擇的對(duì)數(shù)據(jù)進(jìn)行分析。
在大數(shù)據(jù)時(shí)代一些之前提出的分析數(shù)據(jù)的方法例如計(jì)劃評(píng)審技術(shù)、統(tǒng)計(jì)分析等將需要進(jìn)一步作出改進(jìn)。由于大數(shù)據(jù)的處理要求系統(tǒng)具有實(shí)時(shí)性,算法的高處理效率尤為重要,所以分析算法要更多考慮其效率問題。又如面對(duì)大數(shù)據(jù)常見的處理方式云計(jì)算時(shí),很多算法需要根據(jù)云計(jì)算框架作出適應(yīng)性調(diào)整。目前大數(shù)據(jù)分析已經(jīng)被廣泛應(yīng)用到各個(gè)領(lǐng)域,如電商領(lǐng)域的客戶需求分析、金融領(lǐng)域的金融分析、房地產(chǎn)行業(yè)的投資決策分析等。
數(shù)據(jù)解釋面向的對(duì)象是用戶,若正確的數(shù)據(jù)分析結(jié)果不加以正確解釋,將導(dǎo)致用戶難以理解甚至誤導(dǎo)用戶的情況。傳統(tǒng)的數(shù)據(jù)解釋的方法有很多,如通過文本的方式展示給用戶,這種方式在小數(shù)據(jù)量的情況下是適用的,但面對(duì)大數(shù)據(jù)這樣大規(guī)模的數(shù)據(jù)往往顯得力不從心。
在展示大規(guī)模的數(shù)據(jù)時(shí)我們可以引入可視化技術(shù),數(shù)據(jù)分析結(jié)果通過直觀清晰的可視化界面能夠使用戶更容易理解和接受,目前常用的可視化技術(shù)有datav、echarts等。
通過本文我們可以了解到大數(shù)據(jù)的基本概念,對(duì)大數(shù)據(jù)的處理模式和大數(shù)據(jù)的處理流程有基本的認(rèn)識(shí)。我們應(yīng)該認(rèn)識(shí)到,大數(shù)據(jù)時(shí)代已經(jīng)悄然而至,但目前尚處于不成熟的階段,還面臨著諸多挑戰(zhàn),如大數(shù)據(jù)能耗問題,大數(shù)據(jù)隱私問題等。