MapReduce是一種基于java的分布式計算的處理技術和程序模型.
MapReduce是一個框架,我們可以使用它來編寫應用程序,以可靠的方式并行地處理大量商品硬件群集上的大量數據。
MapReduce的主要優點是易于在多個計算節點上擴展數據處理。在MapReduce模型下,數據處理原語稱為映射器和縮減器。將數據處理應用程序分解為映射器和簡化器有時并不重要。但是,一旦我們以MapReduce形式編寫應用程序,擴展應用程序以在集群中運行數百,數千甚至數萬臺機器只是一種配置更改。這種簡單的可擴展性是吸引許多程序員使用MapReduce模型的原因。
鍵和值類應該由框架以序列化的方式,因此,需要實現Writable接口。此外,鍵類必須實現Writable-Comparable接口,以方便框架進行排序。
術語
PayLoad?- 應用程序實現Map和Reduce功能,并形成作業的核心。
Mapper- 映射器將輸入鍵/值對映射到一組中間鍵/值對。
NamedNode?- 管理Hadoop分布式文件系統(HDFS)的節點。
DataNode?- 在任何處理發生之前提前呈現數據的節點。
MasterNode?- JobTracker運行并接受來自客戶端的作業請求的節??點。
SlaveNode?- Map和Reduce程序運行的節點。
JobTracker?- 計劃作業并跟蹤將作業分配給任務跟蹤器。
Task Tracker-?跟蹤任務并向JobTracker報告狀態。
Job-?程序是跨數據集的Mapper和Reducer的執行。
Task-?在一個數據片段上執行Mapper或Reducer。
Task Attempt-?嘗試在SlaveNode上執行任務的特定實例。
https://www.w3cschool.cn/hadoop/hadoop_mapreduce.html