數(shù)據(jù)處理是對復(fù)雜海量數(shù)據(jù)價值的提煉,而最有價值的部分是預(yù)測分析,它可以幫助數(shù)據(jù)科學(xué)家通過數(shù)據(jù)挖掘形式,例如數(shù)據(jù)可視化,統(tǒng)計模式識別和數(shù)據(jù)描述等等,更好地理解數(shù)據(jù)。根據(jù)數(shù)據(jù)挖掘的結(jié)果得出預(yù)測性決策。那么大數(shù)據(jù)處理模式有哪些?大數(shù)據(jù)處理模式分別是什么?
大數(shù)據(jù)處理模式有哪些?
大數(shù)據(jù)的應(yīng)用類型很多,主要的處理模式可以分為流處理模式和批處理模式兩種。批處理是先存儲后處理,而流處理則是直接處理。
大數(shù)據(jù)處理模式分別是什么?
1. 批處理模式
Google 公司在 2004 年提出的 MapReduce 編程模型是最具代表性的批處理模式。
MapReduce 模型首先將用戶的原始數(shù)據(jù)源進行分塊,然后分別交給不同的 Map 任務(wù)去處理。
Map 任務(wù)從輸入中解析出 key/value 對集合,然后對這些集合執(zhí)行用戶自行定義的 Map 函數(shù)以得到中間結(jié)果,并將該結(jié)果寫入本地硬盤。
Reduce 任務(wù)從硬盤上讀取數(shù)據(jù)之后,會根據(jù) key 值進行排序,將具有相同 key 值的數(shù)據(jù)組織在一起。最后,用戶自定義的 Reduce 函數(shù)會作用于這些排好序的結(jié)果并輸出最終結(jié)果。
MapReduce 的核心設(shè)計思想有兩點。
· 將問題分而治之,把待處理的數(shù)據(jù)分成多個模塊分別交給多個 Map 任務(wù)去并發(fā)處理。
· 把計算推到數(shù)據(jù)而不是把數(shù)據(jù)推到計算,從而有效地避免數(shù)據(jù)傳輸過程中產(chǎn)生的大量通信開銷。
2. 流處理模式
流處理模式的基本理念是,數(shù)據(jù)的價值會隨著時間的流逝而不斷減少。因此,盡可能快地對最新的數(shù)據(jù)做出分析并給出結(jié)果是所有流處理模式的主要目標。
需要采用流處理模式的大數(shù)據(jù)應(yīng)用場景主要有網(wǎng)頁點擊數(shù)的實時統(tǒng)計,傳感器網(wǎng)絡(luò),金融中的高頻交易等。
流處理模式將數(shù)據(jù)視為流,將源源不斷的數(shù)據(jù)組成數(shù)據(jù)流。當(dāng)新的數(shù)據(jù)到來時就立刻處理并返回所需的結(jié)果。
數(shù)據(jù)的實時處理是一個很有挑戰(zhàn)性的工作,數(shù)據(jù)流本身具有持續(xù)到達、速度快、規(guī)模巨大等特點,因此,通常不會對所有的數(shù)據(jù)進行永久化存儲,同時,由于數(shù)據(jù)環(huán)境處在不斷的變化之中,系統(tǒng)很難準確掌握整個數(shù)據(jù)的全貌。
由于響應(yīng)時間的要求,流處理的過程基本在內(nèi)存中完成,其處理方式更多地依賴于在內(nèi)存中設(shè)計巧妙的概要數(shù)據(jù)結(jié)構(gòu)。內(nèi)存容量是限制流處理模式的一個主要瓶頸。
上述就是關(guān)于大數(shù)據(jù)處理模式有哪些,以及大數(shù)據(jù)處理模式分別是什么的全部內(nèi)容介紹,想了解更多關(guān)于大數(shù)據(jù)處理的信息,請繼續(xù)關(guān)注中培偉業(yè)。