1. 程式人生 > >《Hadoop權威指南》筆記-關於MapReduce

《Hadoop權威指南》筆記-關於MapReduce

本筆記主要總結記錄2.4節 橫向擴充套件。

本小結簡單介紹了Hadoop中MapReduce的執行流程,即對資料流的處理過程,和多map對應多reduce的情況。

資料流

Mapduce主要分成一下五步:
1. MapReeduce作業(job) :客戶端需要執行的一個工作單元,包括輸入資料、MapReduce程式和配置資訊。其主要分為兩大類任務:map任務和reduce任務,這些任務執行在叢集節點上,由yarn排程。
2. 輸入分片(input spilt):簡稱分片,Hadoop將MapReduce輸入資料分成等長小資料塊即分片,併為每片構建一個map任務。預設分片大小最好HDFS的一個塊的大小,一般為128MB。
3. 在儲存輸入資料(HDFS中的資料)的節點上執行map任務,因為這樣減少不同節點間的資料傳輸,節約頻寬資源,叫做“資料本地優化“(data locality optimization)。如果一個map任務的所有HDFS副本存在的節點都不空閒,則需要其他節點執行該任務,這樣是無法實現“資料本地優化“的;
4. map將其輸入寫入本地硬碟而非HDFS。因為map的輸入為中間結果,一旦作業完成,中間結果可以被刪除,因此如果存在HDFS上有些小題大做;
5. reduce的輸入通常來自所有mapper的輸出,因此不具有“資料本地化“優勢,reduce的輸出通常儲存在HDFS中以實現可靠儲存;

備註:HDFS為Hadoop分散式檔案系統(Hadoop Distribute File System),其將資料備份多次儲存在不同節點,和本地硬碟相比有更高的穩定性但同時代價更大。因此在第4步中才說對於中間結果儲存在HDFS上有些小題大做。

多map與多reduce

每個mao任務回針對輸出進行分割槽(partition),即為每個reduce任務建立一個分割槽。分割槽通常使用預設的partitioner通過雜湊函式分割槽, 也可以使用者用分割槽函式定義分割槽規則。
這裡寫圖片描述
圖1 多map單reduce
這裡寫圖片描述
圖2 多map多reduce
這也是map任務和reduce任務之間的資料流成為混洗(shuffle)的原因。當資料可完全並行時,會出現無reduce的情況。
這裡寫圖片描述


圖3 無reduce

combiner函式

在每個節點的map之後執行,節約map和reduce之間的資料傳輸量。當然也受制於可用的函式型別。
比如在[12,4,90,23,12,9]中找到最大值。假設該Hadoop有兩個節點,兩個map分別為[12, 4, 90]和[23,12,9],如果不做combiner則共傳輸6個數字,但若在每個map後執行combiner,傳輸該map中的最大值就可以將資料量減少到2個數字。當然可以看出,如果是求平均值則無法簡單呼叫combiner 。

結語

本章簡單介紹了Hadoop的流程,對應《Hadoop權威指南》2.4節 橫向擴充套件,有興趣的朋友可閱讀原文。

相關推薦

Hadoop權威指南》---關於MapReduce

一、概述 MapReduce是一種用於資料處理的程式設計模型,Hadoop可以執行各種語言版本的MapReduce,並且這種程式還是並行執行的,因此可以將大規模的資料分析任務分發給任何一個擁有足夠多機器的資料中心。 二、資料集 MapReduce的優勢就是能夠處理大規模

Hadoop權威指南讀書筆記(1) MapReduce和HDFS簡介

最近開始讀<< Hadoop:the definitive guide>>,於是打算寫點讀書筆記,書電子版見網盤,密碼v66s。 原書推薦的讀書順序如下圖: 這裡我們就按從第一章到最後一章的順序讀吧. Chapter 2:

Hadoop權威指南筆記關於MapReduce

本筆記主要總結記錄2.4節 橫向擴充套件。 本小結簡單介紹了Hadoop中MapReduce的執行流程,即對資料流的處理過程,和多map對應多reduce的情況。 資料流 Mapduce主要分成一下五步: 1. MapReeduce作業(job) :客戶

Hadoop權威指南學習筆記

支持 第三方 handle line src factory 模式 多個 重要 HDFS簡單介紹 聲明:本文是本人基於Hadoop權威指南學習的一些個人理解和筆記,僅供學習參考。有什麽不到之處還望指出,一起學習一起進步。 轉載請註明:http://blog.cs

Hadoop 權威指南 - 大資料的儲存與分析》學習筆記

第一章 初識Hadoop 1.2 資料的儲存與分析 對多個硬碟中的資料並行進行讀/寫資料,有以下兩個重要問題: 硬體故障問題。解決方案:複製(replication),系統儲存資料的副本(replica)。 以某種方式結合大部分資料來共同完成分析。MapReduce

Hadoop權威指南》學習筆記(四)

1 Yarn的MapReduce工作流程 經典的MapReduce頂層包括5個獨立實體  客戶端,提交MapReduce作業 YARN資源管理器,協調叢集上計算資源分配 YARN節點管理器,負責啟動和監視叢集中的container MapReduce應用程式

Hadoop權威指南》學習筆記(三)

本博文是我學習《Hadoop權威指南》第5章的筆記,主要是裡面範例程式的實現,部分實現有修改 1 Mapper測試 需要使用mrunit這個jar包,在pom.xml新增dependency的時候,要新增classifier屬性不然下載不了jar包,根據自己hadoop-core的版本來確定

Hadoop權威指南-大資料的儲存與分析第四版——學習筆記——第2章——1

MapReduce 適合處理半結構化的資料 MapReduce任務階段 Map階段+Reduce階段 Key-Value作為輸入輸出 實現兩個函式:map(),reduce() Map階段 輸入的Key:文字中的偏移量 輸入的value:文字 輸出的k-v給reduce處

Hadoop權威指南---MapReduce的型別與格式

目錄 package org.apache.hadoop.mapreduce; import java.io.IOException; import org.apache.hadoop.c

Hadoop權威指南---MapReduce的工作機制

目錄 ​2 、失敗  總結: map函式--> partition分割槽函式(在記憶體中進行sort排序)-->combiner函式(如果存在,且會符合執行條件)-->map輸

學習Hadoop權威指南Hadoop執行MapReduce日誌檢視

修改map配置檔案 mapred-site.xml [[email protected] yar]# vim /opt/hadoop-2.8.3/etc/hadoop/mapred-site.xml <property> <name&

Hadoop權威指南(第4版)-OReilly 2016 讀書筆記

Hadoop權威指南(第4版)-OReilly 2016-ReadingNotes.md 初識Hadoop 關於MapReduce mapper和reducercombiner* HDFS p48 Hadoop2: HA,備用namenode2種HA共享儲存: NFS

Hadoop權威指南學習(三)——MapReduce應用開發

開發MapReduce程式,有一個特定流程:1.寫map和reduce函式,並經過單元測試;2. 編寫本地測試程式執行作業;3. 在叢集上執行,使用IsolationRunner在失敗的相同輸入資料上執行任務;4. 優化調整,任務剖析,Hadoop提供鉤子(hook)輔助分

MongoDB權威指南--筆記

這一 article dfs $natural 變慢 tags 復用 lec score mongodb並不具備一些在關系型數據庫中很普遍的功能,如連接和復雜的多行事務。 集合-->文檔-->id id在文檔所屬的集合中是唯一的。 db.help()查看數據庫級

hadoop權威指南(第四版)要點翻譯(4)——Chapter 3. The HDFS(1-4)

memory concept strac asc 主機 metadata ould txt ssi Filesystems that manage the storage across a network of machines are called d

hadoop權威指南(第四版)要點翻譯(5)——Chapter 3. The HDFS(5)

val str 能夠 byte present ted streaming 三種 創建 5) The Java Interface a) Reading D

JS權威指南筆記(171頁)-this關鍵字的作用域

var 模式 fun 調用 gpo this關鍵字 === 繼承 沒有 和變量不同,關鍵字this沒有作用域的限制,嵌套函數不會從調用它的函數中繼承this.如果嵌套函數作為方法調用,其this值不是全局對象(非嚴格模式下),就是undefined(嚴格模式下).很多人誤

思考Hadoop權威指南的一段話

Hadoop權威指南 Hadoop 《Hadoop權威指南》這本書的第一章開頭有這樣一句話:    “在古時候,人們用牛來拉重物。當一頭牛拉不動一根原木時,人們從來沒有考慮過要想方設法培育出一種更強壯的牛。同理,我們也不該想方設法打造什麽超級計算機,而應該千方百計綜合利用更多計算

HTML5與CSS3權威指南筆記案例1

sea 技術分享 結合 () 習慣 tps code har ade 第1章 <!DOCTYPE html> <meta charset = "UTF-8"> <title> Search </title&g

分享《Hadoop權威指南(第四版)》中文PDF+英文PDF+原始碼

下載:https://pan.baidu.com/s/1YrWpwl2xgsFlf6GBS2Ry8w更多資料:http://blog.51cto.com/3215120 《Hadoop權威指南(第四版)》中文PDF+英文PDF+原始碼 《Hadoop權威指南(第四版)》中文PDF+英文PDF+原始碼《Ha