一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

什么是MapReduce(入門篇)

 小米VIP 2023-03-05 發(fā)布于北京

        在HDFS系列完結(jié)之后,小伙伴們期待的MapReduce系列已經(jīng)在向大家揮手了。本篇博客,小菌將為大家?guī)鞰apReduce的入門介紹!

        在正式開始之前,讓我們通過一張圖片回顧一下Hadoop的組成部分,以及每部分的作用!
在這里插入圖片描述

歸納:
Hadoop組成
 
    Hadoop  HDFS:一個高可靠、高吞吐量的分布式文件系統(tǒng),對海量數(shù)據(jù)的存儲。
 	Hadoop  MapReduce:一個分布式的資源調(diào)度和離線并行計算框架。
 	Hadoop  Yarn:基于HDFS,用于作業(yè)調(diào)度和集群資源管理的框架。

        接下來我們正式進(jìn)入到MapReduce的講解中



分布式并行計算框架MapReduce

什么是計算框架?

        是指實現(xiàn)某項任務(wù)或某項工作從開始到結(jié)束的計算過程或流的結(jié)構(gòu)。

        MapReduce具體的計算框架分布如下所示:
在這里插入圖片描述

什么是并行計算框架?

        一個大的任務(wù)拆分成多個小任務(wù),將多個小任務(wù)分發(fā)到多個節(jié)點(diǎn)上。每個節(jié)點(diǎn)同時執(zhí)行計算。

在這里插入圖片描述

Hadoop為什么比傳統(tǒng)技術(shù)方案快

        這個問題小菌在介紹大數(shù)據(jù)的時候就已經(jīng)談到過。大致分為下面幾個步驟!

  1. 分布式存儲
  2. 分布式并行計算
  3. 節(jié)點(diǎn)橫向拓展
  4. 移動程序到數(shù)據(jù)端
  5. 多個數(shù)據(jù)副本

MapReduce核心思想

        分而治之,先分后和:將一個大的、復(fù)雜的工作或任務(wù),拆分成多個小的任務(wù),并行處理,最終進(jìn)行合并。

        MapReduce由Map和Reduce組成
        Map: 將數(shù)據(jù)進(jìn)行拆分,即把復(fù)雜的任務(wù)分解為若干個“簡單的任務(wù)”來并行處理??梢赃M(jìn)行拆分的前提是這些小任務(wù)可以并行計算,彼此間幾乎沒有依賴關(guān)系。

        Reduce:對數(shù)據(jù)進(jìn)行匯總,即對map階段的結(jié)果進(jìn)行全局匯總。

在這里插入圖片描述

Hadoop -MapReduce設(shè)計構(gòu)思

        MapReduce是一個分布式運(yùn)算程序的編程框架,核心功能是將用戶編寫的業(yè)務(wù)邏輯代碼和自帶默認(rèn)組件整合成一個完整的分布式運(yùn)算程序,并發(fā)運(yùn)行在Hadoop集群上
        既然是做計算的框架,那么表現(xiàn)形式就是有個輸入(input),MapReduce操作這個輸入(input),通過本身定義好的計算模型,得到一個輸出(output)。
        Hadoop MapReduce構(gòu)思體現(xiàn)在如下的三個方面:

如何應(yīng)對大數(shù)據(jù)處理:分而治之

         對相互間不具有計算依賴關(guān)系的大數(shù)據(jù),實現(xiàn)并行最自然的辦法就是采取分而治之的策略。并行計算的第一個重要問題是如何劃分計算任務(wù)或者計算數(shù)據(jù)以便對劃分的子任務(wù)或數(shù)據(jù)塊同時進(jìn)行計算。不可分拆的計算任務(wù)或相互間有依賴關(guān)系的數(shù)據(jù)無法進(jìn)行并行計算!

構(gòu)建抽象模型:Map和Reduce

         MapReduce借鑒了函數(shù)式語言中的思想,用Map和Reduce兩個函數(shù)提供了高層的并行編程抽象模型。
         Map: 對一組數(shù)據(jù)元素進(jìn)行某種重復(fù)式的處理;
         Reduce: 對Map的中間結(jié)果進(jìn)行某種進(jìn)一步的結(jié)果整理。
         MapReduce中定義了如下的Map和Reduce兩個抽象的編程接口,由用戶去編程實現(xiàn):
         map: [k1,v1] → [(k2,v2)]
         reduce: [k2, {v2,…}] → [k3, v3]

在這里插入圖片描述
         Map和Reduce為程序員提供了一個清晰的操作接口抽象描述。通過以上兩個編程接口,大家可以看出MapReduce處理的數(shù)據(jù)類型是<key,value>鍵值對。

統(tǒng)一構(gòu)架,隱藏系統(tǒng)層細(xì)節(jié)

         如何提供統(tǒng)一的計算框架,如果沒有統(tǒng)一封裝底層細(xì)節(jié),那么程序員則需要考慮諸如數(shù)據(jù)存儲、劃分、分發(fā)、結(jié)果收集、錯誤恢復(fù)等諸多細(xì)節(jié);為此,MapReduce設(shè)計并提供了統(tǒng)一的計算框架,為程序員隱藏了絕大多數(shù)系統(tǒng)層面的處理細(xì)節(jié)
         MapReduce最大的亮點(diǎn)在于通過抽象模型和計算框架把需要做什么(what need to do)與具體怎么做(how to do)分開了,為程序員提供一個抽象和高層的編程接口和框架。程序員僅需要關(guān)心其應(yīng)用層的具體計算問題,僅需編寫少量的處理應(yīng)用本身計算問題的程序代碼。如何具體完成這個并行計算任務(wù)所相關(guān)的諸多系統(tǒng)層細(xì)節(jié)被隱藏起來,交給計算框架去處理:從分布代碼的執(zhí)行,到大到數(shù)千小到單個節(jié)點(diǎn)集群的自動調(diào)度使用。

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    果冻传媒在线观看免费高清| 欧美日韩国产欧美日韩| 少妇高潮呻吟浪语91| 国产精品视频久久一区| 国产精品二区三区免费播放心| 在线观看免费无遮挡大尺度视频| 国产韩国日本精品视频| 亚洲欧洲成人精品香蕉网| 男女午夜福利院在线观看 | 果冻传媒精选麻豆白晶晶| 成人亚洲国产精品一区不卡 | 男女午夜福利院在线观看| 国产一区二区不卡在线播放| 91亚洲精品综合久久| 日本加勒比在线观看一区| 观看日韩精品在线视频| 国产麻豆视频一二三区| 熟妇人妻av中文字幕老熟妇| 中文字幕在线区中文色| 少妇人妻精品一区二区三区| 久久99亚洲小姐精品综合| 亚洲精品国男人在线视频| 亚洲欧美黑人一区二区| 黄色国产自拍在线观看| 国产欧美日韩在线精品一二区 | 国产欧美韩日一区二区三区| 国产免费一区二区不卡| 国产高清在线不卡一区| 亚洲伦理中文字幕在线观看| 午夜国产精品福利在线观看| 99热九九在线中文字幕| 欧美综合色婷婷欧美激情| 一本色道久久综合狠狠躁| 精品人妻一区二区四区| 激情三级在线观看视频| 国产女性精品一区二区三区| 午夜福利视频偷拍91| 欧美日韩国产成人高潮| 亚洲婷婷开心色四房播播| 欧美日韩国产二三四区| 人妻少妇久久中文字幕久久|