目前,主流的大數(shù)據(jù)平臺(tái)包括:Hadoop、Spark。
Hadoop是分布式(根據(jù)網(wǎng)絡(luò)資料理解:分布式與集中式相對(duì)應(yīng),對(duì)于大量數(shù)據(jù)計(jì)算,集中于一臺(tái)計(jì)算機(jī)中計(jì)算需耗費(fèi)較長(zhǎng)時(shí)間,通過(guò)將計(jì)算分布于多個(gè)計(jì)算機(jī),節(jié)約整體計(jì)算時(shí)間)系統(tǒng)基礎(chǔ)架構(gòu)。Hadoop的兩個(gè)功能包括:數(shù)據(jù)存儲(chǔ)(HDFS)、數(shù)據(jù)處理(MapReduce)。
Spark是專為大規(guī)模數(shù)據(jù)處理而設(shè)計(jì)的快速通用計(jì)算引擎。Spark不提供文件管理系統(tǒng),沒(méi)有數(shù)據(jù)存儲(chǔ)功能;Spark的數(shù)據(jù)計(jì)算基于內(nèi)存實(shí)現(xiàn),數(shù)據(jù)處理速度快。
一、HDFS(分布式文件存儲(chǔ))
數(shù)據(jù)通過(guò)HDFS放置于一個(gè)Hadoop集群中,Hadoop集群通常由幾臺(tái)至上千臺(tái)的計(jì)算機(jī)組成。根據(jù)課程介紹理解,百度公司最大的Hadoop集群已超過(guò)4000臺(tái)計(jì)算機(jī)。
數(shù)據(jù)在存儲(chǔ)于HDFS前,被分割成若干數(shù)據(jù)塊,每個(gè)數(shù)據(jù)塊儲(chǔ)存于一臺(tái)計(jì)算機(jī)中。不同Hadoop版本所分割的數(shù)據(jù)塊大小不同,Hadoop1.0版本中數(shù)據(jù)塊大小為64MB,Hadoop2.0版本中數(shù)據(jù)塊大小為128MB。Hadoop也可以設(shè)置數(shù)據(jù)塊大小(含個(gè)人理解)。
圖片來(lái)源:學(xué)堂在線《大數(shù)據(jù)導(dǎo)論》
二、MapReduce(分布式數(shù)據(jù)處理架構(gòu))
MapReduce是分布式計(jì)算框架。開(kāi)發(fā)人員在運(yùn)用MapReduce處理數(shù)據(jù)時(shí),MapReduce將指定某一Map函數(shù),將一組鍵值對(duì)(根據(jù)網(wǎng)絡(luò)資料理解:鍵值對(duì)可以根據(jù)一個(gè)值獲得對(duì)應(yīng)的一個(gè)值)映射成一組新的鍵值對(duì),并指定并發(fā)的Reduce函數(shù),保證所有Map函數(shù)映射的結(jié)果可以進(jìn)行Reduce規(guī)約(根據(jù)網(wǎng)絡(luò)資料理解:通過(guò)某一連接動(dòng)作將所有元素匯總為一個(gè)結(jié)果的過(guò)程)運(yùn)算。
圖片來(lái)源:學(xué)堂在線《大數(shù)據(jù)導(dǎo)論》
在運(yùn)用MapReduce框架編寫(xiě)計(jì)算機(jī)程序時(shí),開(kāi)發(fā)人員只需考慮業(yè)務(wù)邏輯,不需考慮并行管理。
WordCount是統(tǒng)計(jì)文件夾所有文本中某一詞出現(xiàn)的次數(shù)。
其中,WordCount的Map函數(shù)程序代碼如下:
Map(K, V){
For each word w in V
Collect(w,1);
}
WordCount的Map函數(shù)中的K代表文本中的詞,WordCount的Map函數(shù)的功能是將文本中的每個(gè)詞與1建立鍵值對(duì),即每個(gè)詞對(duì)應(yīng)一個(gè)“1”。
WordCount的Reduce函數(shù)程序代碼如下:
Reduce(K.V[]){
int count=0;
For each v in V
count+= v;
Collect(K,count);
}
WordCount的Reduce函數(shù)將經(jīng)過(guò)WordCount的Map函數(shù)處理的相同詞對(duì)應(yīng)的“1”求和,得出某一詞的出現(xiàn)的次數(shù)。
該WordCount示例中,Map和Reduce函數(shù)的具體運(yùn)行如圖一所示:
首先,所有數(shù)據(jù)被整理成單行數(shù)據(jù),圖一流程圖中具有三個(gè)節(jié)點(diǎn)(個(gè)人理解:節(jié)點(diǎn)可被認(rèn)為是計(jì)算機(jī)),圖一中的三行數(shù)據(jù)被分行輸入到三個(gè)節(jié)點(diǎn)中。
然后,Map函數(shù)運(yùn)行,將每個(gè)詞與1建立鍵值對(duì)。
Map函數(shù)運(yùn)行結(jié)束后,Shuffle過(guò)程運(yùn)行,Shuffle過(guò)程是MapReduce內(nèi)設(shè)過(guò)程,可將具有相同詞的鍵值對(duì)中的“1”集合至一個(gè)List(列表)中。如圖一所示,因?yàn)椤癇ear”一詞出現(xiàn)了兩次,所以經(jīng)過(guò)Shuffle過(guò)程后,“Bear”所對(duì)應(yīng)的List為(1,1)。
最后,Reduce函數(shù)運(yùn)行,將Shuffle過(guò)程所生成的List求和,完成對(duì)某一詞出現(xiàn)的次數(shù)統(tǒng)計(jì)。
圖一,圖片來(lái)源:學(xué)堂在線《大數(shù)據(jù)導(dǎo)論》
審核編輯:劉清
-
數(shù)據(jù)存儲(chǔ)
+關(guān)注
關(guān)注
5文章
979瀏覽量
50996 -
HDFS
+關(guān)注
關(guān)注
1文章
30瀏覽量
9623 -
大數(shù)據(jù)系統(tǒng)
+關(guān)注
關(guān)注
0文章
7瀏覽量
1886
原文標(biāo)題:大數(shù)據(jù)相關(guān)介紹(9)——大數(shù)據(jù)系統(tǒng)(上)
文章出處:【微信號(hào):行業(yè)學(xué)習(xí)與研究,微信公眾號(hào):行業(yè)學(xué)習(xí)與研究】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論