MapReduce基本原理及應用

2022-09-06 10:30:26 字數 1738 閱讀 1701

一:mapreduce模型簡介

mapreduce將複雜的、執行於大規模集群上的平行計算過程高度地抽象到了兩個函式:map和reduce。它採用「分而治之」策略,乙個儲存在分布式檔案系統中的大規模資料集,會被切分成許多獨立的分片(split),這些分片可以被多個map任務並行處理

1.map和reduce函式

map和reduce

2.mapreduce體系結構

mapreduce體系結構主要由四個部分組成,分別是:client、jobtracker、tasktracker以及task

使用者編寫的mapreduce程式通過client提交到jobtracker端 使用者可通過client提供的一些介面檢視作業執行狀態

2)jobtracker

jobtracker負責資源監控和作業排程 jobtracker 監控所有tasktracker與job的健康狀況,一旦發現失敗,就將相應的任務轉移到其他節點 jobtracker 會跟蹤任務的執行進度、資源使用量等資訊,並將這些資訊告訴任務排程器(taskscheduler),而排程器會在資源出現空閒時,

選擇合適的任務去使用這些資源

3)tasktracker

tasktracker 會周期性地通過「心跳」將本節點上資源的使用情況和任務的執行進度匯報給jobtracker,同時接收jobtracker 傳送過來的命令並執行相應的操作(如啟動新任務、殺死任務等) tasktracker 使用「slot」等量劃分本節點上的資源量(cpu、記憶體等)。乙個task 獲取到

乙個slot 後才有機會執行,而hadoop排程器的作用就是將各個tasktracker上的空閒slot分配給task使用。slot 分為map slot 和reduce slot 兩種,分別供maptask 和reduce task 使用

4)task

task 分為map task 和reduce task 兩種,均由tasktracker 啟動

3.mapreduce工作流程

1) 工作流程概述

不同的map任務之間不會進行通訊

不同的reduce任務之間也不會發生任何資訊交換

使用者不能顯式地從一台機器向另一台機器傳送訊息

所有的資料交換都是通過mapreduce框架自身去實現的

2) mapreduce各個執行階段

4.mapreduce應用程式執行過程

二 :wordcount執行例項

工作流程是input從hdfs裡面並行讀取文字中的內容,經過mapreduce模型,最終把分析出來的結果用output封裝,持久化到hdfs中

《一》wordcount的map過程

1、使用三個map任務並行讀取三行檔案中的內容,對讀取的單詞進行map操作,每個單詞都以形式生成

flink執行原理 Flink基本原理及應用場景

在大資料處理領域,批處理任務和流處理任務一般被認為是兩種不同的任務,乙個大資料框架一般會被設計為只能處理其中一種任務 例如storm只支援流處理任務,而mapreduce spark只支援批處理任務。spark streaming是採用了一種micro batch的架構,即把輸入的資料流且分為細粒度...

mysql的基本原理 Mysql 基本原理

mysql 基本原理 mysql是一種關聯式資料庫管理系統,關聯式資料庫將資料儲存在不同的表中,而不是將所有資料放在乙個大倉庫內,這樣就增加了速度並提高了靈活性 ysql是資料庫登入命令 uroot預設超級使用者登入 p 預設沒密碼 中寫密碼 mysqladmin uroot password 12...

爬蟲基本原理及概念

爬蟲在網路中爬行的時候,將web 上的網頁集合看成是乙個有向圖,從給定的起始 1 深度優先演算法 該演算法是指網路爬蟲會從選定的乙個超連結開始,按照一條線路,乙個乙個鏈結訪 問下去,直到達到這條線路的葉子節點,即不包含任何超連結的html 檔案,處理完這 到達葉子結點。這個方法有個優點是網路爬蟲在設...