mapreduce歸納總結
二、reducer端的shuffle過程
三、流程圖
四、注意問題
五、優化措施
在mapreduce程式剛開始的時候會先對檔案進行切片。如果檔案不可切,則將整個檔案作為乙個切片進行處理。如果檔案可切,則進行切分,但是需要注意的是如果剩餘資料量/splitsize<=1.1,則剩餘的資料整體作為乙個分割槽來進行處理
每乙個分割槽會分配給乙個maptask來處理。maptask在接收到filesplit之後進行按行讀取,每讀取一行呼叫一次map方法
每執行完一次map方法之後會將計算結果寫到緩衝區中。緩衝區是維繫在記憶體中的
緩衝區的大小預設是100m,可以通過io.sort.mb來進行調節
在緩衝區中,會對資料進行分割槽-partition,排序 - sort。如果指定了合併 (combine)操作,則在緩衝區中也會進行combine操作
當緩衝區的容量利用率達到閾值0.8的時候,會啟動給乙個後台執行緒將緩衝區中的資料寫到指定目錄下的溢寫檔案中,這個過程稱之為是溢寫 (spill),而每次的spill都會產生乙個新的溢寫檔案
等最後所有的資料都寫完之後,會將所有的溢寫檔案進行一次合併 (merge),合併到乙個新的分割槽並且排序的檔案中。需要注意的是merge過程並不減少資料量,而combine過程會減少資料總量
如果在最終合併的時候,溢寫檔案個數》=3,那麼合併完成之後會再執行一次combiner
reducetask通過http的方式來得到輸出檔案的分割槽,這個過程稱之為fetch
每乙個reducetask將獲取的分割槽的資料再次進行merge,然後進行排序
將相同的key做聚合,將值放入迭代器中,這一步稱之為分組
呼叫reduce方法,將key和迭代器傳入
mapreduce的shuffle·過程
當產生溢寫的時候,緩衝區最後殘留的資料會flush到最後乙個溢寫檔案中
在預設情況下,環形緩衝區的大小為100m,溢寫閾值為0.8
不能憑藉乙個maptask處理的切片大小來衡量maptask之後的輸出資料的多少
每乙個切片對應乙個maptask,每乙個maptask對應乙個緩衝區
不同的檔案不會進行合併,所以不能直接以輸入檔案的總大小和計算maptask的個數。
緩衝區又叫環形緩衝區,好處在於可以重複利用同一塊位址的緩衝區
閾值的作用是避免spill中過程資料丟失
fetch的預設執行緒數是5
reducetask的啟動閾值為5%,即當5%的maptask完成之後,reducetask就開始啟動
mr的調優過程可分為二個方面考慮:map端的調優和reduce端的調優
map調優:
a. 調大緩衝區,減小溢寫的頻率。
b. 可以引入combine過程,減小網路傳輸的資料量
c.引入壓縮機制,減小網路傳輸的資料量
reduc優:
a.增多fetch執行緒的數量
b.降低reducetask的啟動閾值
c.適當提高merge因子,比如設為10,即便是每10個檔案合併成乙個檔案
HTML知識點總結和重點歸納
html 是用來描述網頁的一種語言。html 指的是超文字標記語言 hyper text markup language html 不是一種程式語言,而是一種標記語言 markup language 標記語言是一套標記標籤 markup tag html 使用標記標籤來描述網頁 標籤對中的第乙個標籤...
MapReduce執行過程詳解(重點)
任務的處理過程又可以分為以下幾個階段,如圖所示 2.對輸入片中的記錄按照一定規律解析成鍵值對。健是每個行的起始位置,值是本行的文字內容 3.上階段解析出來的每乙個鍵值對,呼叫一次map 方法輸出新的鍵值對 4.按照規則對第三階段輸出的鍵值對進行分割槽 5.對每個分割槽的鍵值進行排序,然後直接輸出到本...
高鴻業西方經濟學重點歸納總結
經濟學的研究物件 一 經濟資源的稀缺性和經濟學的產生 1.經濟資源的稀缺性與選擇行為 1 經濟資源的稀缺性的含義 經濟資源的稀缺性是西方經濟學關於經濟學研究物件的基礎性概念。在人類社會中,生產資源以及用它們生產的產品總是既定的,而人類的慾望是無限的,由此便產生了稀缺性問題。西方經濟學家把滿足人類慾望...