Hadoop 中的 MapReduce:阶段、输入和输出、功能和优势
已发表: 2020-12-24Hadoop MapReduce 是一种编程模型和软件框架,用于编写处理大量数据的应用程序。 MapReduce 程序有两个阶段,Map 和 Reduce。
Map 任务包括通过获取数据集并将其转换为另一组数据来拆分和映射数据,其中各个元素被分解为元组,即键/值对。 之后,Reduce 任务对数据进行混洗和归约,这意味着它根据键组合数据元组,并相应地修改键的值。
在 Hadoop 框架中,MapReduce 模型是数据处理的核心组件。 使用此模型,只需更改配置即可轻松扩展应用程序以在集群中运行数百、数千甚至更多机器。 这也是因为云计算中模型的程序本质上是并行的。 Hadoop 能够以多种语言运行 MapReduce,例如 Java、Ruby、Python 和 C++。 阅读更多关于 mapreduce 架构的信息。
目录
输入和输出
MapReduce 模型对 <key, value> 对进行操作。 它将作业的输入视为一组 <key, value> 对,并生成一组不同的 <key, value> 对作为作业的输出。 该框架中的两个类支持数据输入,即 InputFormat 和 RecordReader。
第一个用于确定应如何为 map 任务划分输入数据,而后者从输入中读取数据。 对于数据输出也有两个类,OutputFormat 和 RecordWriter。 第一个类执行数据接收器属性的基本验证,第二个类用于将每个 reducer 输出写入数据接收器。
MapReduce 的阶段是什么?
在 MapReduce 中,数据经历以下阶段。

输入拆分: MapReduce 模型中的输入被分成小的固定大小的部分,称为输入拆分。 这部分输入由单个地图消耗。 输入数据一般是存储在 HDFS 中的文件或目录。
映射:这是 map-reduce 程序执行的第一阶段,其中每个拆分中的数据逐行传递到映射器函数以对其进行处理并生成输出值。
洗牌:它是映射输出阶段的一部分,其中相关记录从输出中合并。 它包括合并和排序。 因此,所有具有相同键的键值对都被组合在一起。 在排序中,来自合并步骤的输入被提取和排序。 它返回键值对,对输出进行排序。
减少:合并洗牌阶段的所有值并返回单个输出值。 因此,总结了整个数据集。

另请阅读: Mapreduce 面试问答
MapReduce 组织如何工作?
Hadoop将一个任务分为两部分,Map任务包括Splits和Mapping,Reduce任务包括Shuffling和Reducing。 这些在上一节的阶段中已经提到。 这些任务的执行由称为 JobTracker 和 Multiple Task tracker 的两个实体控制。
对于每个提交执行的作业,都有一个驻留在 NameNode 上的 JobTracker 和驻留在 DataNode 上的多个任务跟踪器。 一个作业被分成多个任务,这些任务在集群中的多个数据节点上运行。 JobTracker 通过调度任务在各种数据节点上运行来协调活动。
任务跟踪器负责单个任务的执行。 它还将进度报告发送到 JobTracker。 它定期向 JobTracker 发送信号以通知系统的当前状态。 当任务失败时,JobTracker 会在不同的任务跟踪器上重新安排它。
MapReduce 的优点
使用此模型的应用程序有许多优点。 这些是

- – 大数据可以轻松处理。
- – 数据集可以并行处理。
- – 结构化、非结构化和半结构化等所有类型的数据都可以轻松处理。
- – 提供高可扩展性。
- – 计算单词的出现很容易,这些应用程序可以收集大量数据。
- – 可以快速访问大量受访者样本。
- – 在数据分析中,可以使用通用工具来搜索工具。
- – 在大型集群中提供负载平衡时间。
- – 提取用户位置、情况等上下文的过程很容易实现。
- – 为这些应用程序提供了良好的泛化性能和收敛性。
必读: Mapreduce 与 Apache Spark
结论
我们已经详细描述了 Hadoop 中的 MapReduce。 我们还在简介中提供了框架的简要描述以及 Map 和 Reduce 的定义。 给出了该模型中使用的各种术语的定义以及输入和输出的详细信息。
对 MapReduce 框架中涉及的各个阶段的详细说明,详细说明了工作是如何组织的。 将 MapReduce 用于应用程序的优点列表清楚地说明了它的使用和相关性
如果您有兴趣了解有关大数据的更多信息,请查看我们的 PG 大数据软件开发专业文凭课程,该课程专为在职专业人士设计,提供 7 多个案例研究和项目,涵盖 14 种编程语言和工具,实用的动手操作研讨会,超过 400 小时的严格学习和顶级公司的就业帮助。
从世界顶级大学在线学习软件开发课程。 获得行政 PG 课程、高级证书课程或硕士课程,以加快您的职业生涯。
