引言
眾所周知,MapReduce編程框架(以下簡稱MR)一直是大并發運算以及海量數據讀寫應用設計的利器。在MR編程體系下,一個job通常會把輸入的數據集切分為若干塊,由map task以完全并行的方式處理消化這些數據塊??蚣軙ap的輸出先進行排序,然后把結果作為輸入提交給reduce任務。通常作業的輸入和輸出都會被存儲在文件系統中。整個框架負責任務的調度和監控,以及重新執行已經失敗的任務。典型的MR程序有如下重要模塊結構構成:
No. |
模塊 |
描述 |
|||||
1 |
InputFormat |
定義map輸入數據的格式 |
|||||
2 |
OutputFormat |
定義reduce輸出數據的格式 |
|||||
3 |
OutputKey |
定義map輸出數據中key的類型 |
|||||
4 |
OutputValue |
定義map輸出數據中value的類型 |
|||||
5 |
InputSplit |
定義對輸入數據進行切分的方式,以分配給Map task |
|||||
原文轉自:http://www.taobaotest.com/blogs/2515
|