Hadoop教程
HBase
Hive
Pig
Sqoop
Spark

MapReduce 数据流

MapReduce用于计算大量数据。为了以并行和分布式的形式处理即将到来的数据,数据必须从各个阶段流动。
MapReduce中的数据流

MapReduce数据流的阶段

输入读取器

输入读取器读取即将到来的数据并将其拆分放入适当大小(64 MB至128 MB)的数据块中。每个数据块都与一个Map函数关联。
一旦输入读取了数据,它就会生成相应的键值对。输入文件位于HDFS中。
注意: 注意-输入数据可以是任何形式。

映射函数

映射函数处理即将到来的键值对并生成相应的输出键值对。映射的输入和输出类型可能彼此不同。

分区函数

分区函数将每个Map函数的输出分配给适当的reducer。可用的键和值提供此功能。

改组和排序

数据在节点之间/之内进行改组,以便从地图中移出并准备处理用于减少功能。有时,数据的重排可能会花费大量的计算时间。
对Reduce函数的输入数据执行排序操作。在这里,使用比较函数对数据进行比较并以排序的形式进行排列。

Reduce函数

Reduce函数被分配给每个唯一键。这些键已经按排序顺序排列。与这些键关联的值可以迭代Reduce并生成相应的输出。

输出编写器

一旦上述所有阶段的数据流完成,输出编写器都将执行。输出编写器的作用是将Reduce输出写入稳定存储。
昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4