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