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