个性化阅读
专注于IT技术分析

MapReduce中的数据流

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

MapReduce中的数据流

MapReduce数据流的阶段

输入阅读器

输入读取器读取即将到来的数据, 并将其拆分为适当大小(64 MB至128 MB)的数据块。每个数据块都与一个Map函数相关联。

输入读取数据后, 它将生成相应的键值对。输入文件位于HDFS中。

注意-输入数据可以是任何形式。

地图功能

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

分区功能

分区函数将每个Map函数的输出分配给适当的reducer。可用的键和值提供此功能。它返回减速器的索引。

改组和排序

数据在节点之间/节点内被重新排序, 以便将其从地图中移出并准备进行处理以简化功能。有时, 数据改组可能会花费大量计算时间。

对用于Reduce功能的输入数据执行排序操作。在此, 使用比较功能对数据进行比较, 并以排序形式进行排列。

减少功能

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

输出作家

一旦数据来自上述所有阶段, 输出编写器便会执行。 Output writer的作用是将Reduce输出写入稳定存储。

赞(0)
未经允许不得转载:srcmini » MapReduce中的数据流

评论 抢沙发

评论前必须登录!