一、MapReduce
(1)MapReduce概要介紹
MapReduce是一種編程模型,可用于大規(guī)模數(shù)據(jù)集(數(shù)據(jù)量大于1TB的數(shù)據(jù)集)的并行運(yùn)算(根據(jù)百度百科:并行運(yùn)算是一種一次可執(zhí)行多個(gè)指令的算法,可提高計(jì)算速度)。MapReduce可使程序的并行運(yùn)算更加簡(jiǎn)單。
Map(映射)是于各個(gè)節(jié)點(diǎn)對(duì)本地?cái)?shù)據(jù)的預(yù)處理操作。 Reduce(歸約)是將Map預(yù)處理操作后的數(shù)據(jù)匯總。Reduce可使編程人員不必關(guān)心如何實(shí)現(xiàn)分布式并行程序,基于Reduce,編程人員可只關(guān)注業(yè)務(wù)數(shù)據(jù)處理。
(2)處理模型
MapReduce框架負(fù)責(zé)處理并行計(jì)算中的復(fù)雜問題,包括:分布式存儲(chǔ)、作業(yè)調(diào)度、負(fù)載均衡、容錯(cuò)處理、網(wǎng)絡(luò)通信等。
MapReduce的處理流程如圖一所示。
首先,數(shù)據(jù)在數(shù)據(jù)節(jié)點(diǎn)被劃分為數(shù)據(jù)塊(個(gè)人理解:數(shù)據(jù)塊即圖一中的split),MapReduce確定待處理的數(shù)據(jù)塊數(shù)量并確定每個(gè)記錄(個(gè)人理解:此處記錄可被理解關(guān)系數(shù)據(jù)庫的一行數(shù)據(jù))在數(shù)據(jù)塊中的位置;
然后,劃分后的數(shù)據(jù)塊作為Map的輸入;
再然后,Map的輸出數(shù)據(jù)需要經(jīng)過sort(個(gè)人理解:分類)、copy(個(gè)人理解:復(fù)制)、merge(個(gè)人理解:合并)操作成為Reduce的輸入,Reduce的輸入數(shù)據(jù)間沒有交集,系統(tǒng)中處于Reduce運(yùn)行的節(jié)點(diǎn)的數(shù)量等于merge操作后的數(shù)據(jù)數(shù)量;
最后,輸出Reduce運(yùn)行后的數(shù)據(jù)。
圖一,圖片來源:學(xué)堂在線《大數(shù)據(jù)導(dǎo)論》
二、Spark
(1)Spark概要介紹
Spark是針對(duì)大規(guī)模數(shù)據(jù)處理的快速通用引擎,其功能是類似MapReduce的計(jì)算引擎。
(2)Spark的特點(diǎn)
1)計(jì)算速度快。Spark計(jì)算速度是Hadoop計(jì)算速度的一百倍。
2)可用性高。Spark可使用Java、Python、R、SQL等編程語言。
3)通用性。Spark由一系列解決處理復(fù)雜問題的組件構(gòu)成,可處理多種類型有關(guān)數(shù)據(jù)庫的復(fù)雜問題。
4)可運(yùn)行于多種環(huán)境中,運(yùn)行環(huán)境包括Hadoop等。
圖片來源:學(xué)堂在線《大數(shù)據(jù)導(dǎo)論》
(3)Spark的體系架構(gòu)
1)Cluster Manager:Cluster Manager是主節(jié)點(diǎn),控制整個(gè)集群,監(jiān)控 Worker Node。
2)Worker Node:Worker Node是從節(jié)點(diǎn),負(fù)責(zé)控制計(jì)算節(jié)點(diǎn),啟動(dòng)Executor 或者Driver
3)Driver:運(yùn)行Application(個(gè)人理解:此處Application指某一應(yīng)用)的main()函數(shù)
4)Executor:為Application運(yùn)行Worker Node上的一個(gè)進(jìn)程。
圖片來源:學(xué)堂在線《大數(shù)據(jù)導(dǎo)論》
(4)RDD
RDD(Resilient Distributed Dataset)被稱為彈性分布式數(shù)據(jù)集,利用SparkContext實(shí)例(根據(jù)網(wǎng)絡(luò)資料理解:每個(gè)SparkContext實(shí)例是Spark的一個(gè)應(yīng)用)創(chuàng)建的對(duì)象均為RDD。RDD是不可變、可分區(qū)、其內(nèi)部元素可并行計(jì)算的集合,數(shù)據(jù)可在RDD中運(yùn)行RDD的自有函數(shù)。
RDD的函數(shù)被稱為RDD算子,RDD算子分為Transformation和Action兩種類型。Transformation具有類似于MapReduce的功能,Action的功能包括:觸發(fā)RDD計(jì)算、統(tǒng)計(jì)RDD元素個(gè)數(shù)等。
RDD的特點(diǎn)包括:自動(dòng)容錯(cuò)、位置感知性調(diào)度、可伸縮性(個(gè)人理解:數(shù)據(jù)量的多少對(duì)RDD的運(yùn)行影響較?。?、可在已有RDD的基礎(chǔ)上創(chuàng)建新的RDD、延遲執(zhí)行(延遲執(zhí)行即Transformation只有在Action被觸發(fā)后才執(zhí)行)。
另外,RDD允許用戶在執(zhí)行多個(gè)查詢時(shí)可將工作集緩存在內(nèi)存中,后續(xù)的查詢可重用工作集,可提升查詢速度。
審核編輯:劉清
-
SQL
+關(guān)注
關(guān)注
1文章
789瀏覽量
46068 -
編程語言
+關(guān)注
關(guān)注
10文章
1957瀏覽量
38514 -
RDD
+關(guān)注
關(guān)注
0文章
7瀏覽量
8152 -
SPARK
+關(guān)注
關(guān)注
1文章
106瀏覽量
20986 -
MapReduce
+關(guān)注
關(guān)注
0文章
45瀏覽量
6735
原文標(biāo)題:大數(shù)據(jù)相關(guān)介紹(22)——MapReduce和Spark
文章出處:【微信號(hào):行業(yè)學(xué)習(xí)與研究,微信公眾號(hào):行業(yè)學(xué)習(xí)與研究】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
NVIDIA黃仁勛向SpaceX馬斯克交付DGX Spark
NVIDIA DGX Spark新一代AI超級(jí)計(jì)算機(jī)正式交付
MediaTek攜手NVIDIA開啟個(gè)人AI算力新紀(jì)元
NVIDIA DGX Spark桌面AI計(jì)算機(jī)開啟預(yù)訂

使用NVIDIA GPU加速Apache Spark中Parquet數(shù)據(jù)掃描

CMOS超大規(guī)模集成電路制造工藝流程的基礎(chǔ)知識(shí)

NVIDIA發(fā)布AI優(yōu)先DGX個(gè)人計(jì)算系統(tǒng)
NVIDIA加速的Apache Spark助力企業(yè)節(jié)省大量成本

CAN通信協(xié)議——中文版
NVIDIA GTC2025 亮點(diǎn) NVIDIA推出 DGX Spark個(gè)人AI計(jì)算機(jī)

NVIDIA 宣布推出 DGX Spark 個(gè)人 AI 計(jì)算機(jī)

SHA105概要數(shù)據(jù)手冊(cè)

SHA106概要數(shù)據(jù)手冊(cè)

ECC206概要數(shù)據(jù)手冊(cè)

IEEE2030.5概要

評(píng)論