Hadoop中的Mapreduce是什么?

时间:2020-02-23 14:33:28  来源:igfitidea点击:

Apache Hadoop的核心是Hadoop MapReduce。
它是一种编程模型,用于在商品硬件上并行处理大型数据集的大量数据集。
框架是所有的作品;我们只需要将业务逻辑放入MapReduce。
所有工作都分为小型作品,并由用户提交的主人分配给从机。

Hadoop MapReduce是通过使用不同的方法来设计的。
它是通过使用功能性编程构造,特定的习语来编写的,用于处理不同类型的列表。
将不同类型的列表作为输入呈现给MapReduce进行处理,并且它将这些列表覆盖为表单列表中的输出。
Hadoop MapReduce并行处理使Hadoop更高效和强大。

作业通过MapReduce分为小部分,每个都驻留在群集中并行。
所有问题分为大量的小块,每个块都单独处理输出。
对于最终输出,这些进一步处理。

Hadoop MapReduce可以缩放数百到数千台跨越群集的计算机。
群集中的不同计算机用于处理无法由大型处理的作业。

Map-Deford是Hadoop的组件,用于处理数据。
这两个通过提供那些键对值,然后通过组合密钥对值来转换到输出数据元素列表来转换输入数据元素列表。

在地图期间,在地图中进行的小阶段和排序也来到MapReduce中的阶段。

映射器和跨数据集的减速器执行称为MapReduce作业。
映射器和减速器是执行两个处理层的执行。
输入数据,MapReduce程序和配置信息是MapReduce作业包含的内容。
因此,如果客户端想要执行MapReduce作业,他需要提供输入数据,写一个MapReduce程序,并提供一些配置信息。

在映射器或者reducer阶段执行块的块被称为任务或者任务。
任何实例都在节点上执行任务的尝试被称为任务尝试。
由于机器故障,可能无法执行可能性任务。
然后任务是重新安排的其他节点。
重新安排任务只能完成4次。
如果任何作业失败超过4次,那么它被认为是失败的作业。

准备Mapreduce采访?
以下是顶级MapReduce面试问题,可以破解面试!

地图和减少的工作过程

映射器的用户写入函数用于在映射器中处理输入数据。
所有业务逻辑都放入映射器级别,因为它是一个完成所有重型处理的地方。
许多映射器总是大于减速剂。
由映射器产生的输出是中间数据,并输入减速器。
Reducer时的用户写入功能用于处理中间数据,并在生成此最终输出后。
在减速器相位中生成的输出存储在HDFS中,并根据常规进行复制。

在mapreduce的数据流

Mapper是第一个阶段,其中数据集分为块。
Mapper一次运行一个块。
映射阶段的输出被写入运行的本地磁盘机。
由映射阶段创建的输出称为中间输出。
映射阶段的中间输出总是写入本地磁盘。
完成映射器阶段时,中间输出被传送到减速器节点。
因此,将来自映射器的中间数据传送到减速器被称为Shuffle。
如果随后不会发生洗机阶段,则还原器将无需任何输入来工作。

Mapper期间生成的整个键由MapReduce排序。
它甚至在减速器之前开始,并且映射器生成所有中间键值对,按键而不是值。
排序有助于减速器在合适的时间开始新的减少任务。
减少任务是通过减速器启动的,当键排序时,输入数据与上一个不同。
键值对被拍摄为非常减少任务和键值对的输入,因为生成输出。
如果减速器被指定为零,则不执行播放和排序,并使映射阶段更快。