MapReduce 中的数据流17 Mar 2025 | 阅读 2 分钟 MapReduce 用于计算大量数据。 为了以并行和分布式形式处理即将到来的数据,数据必须流经各个阶段。 ![]() MapReduce 数据流的阶段输入读取器输入读取器读取即将到来的数据,并将其拆分为适当大小的数据块(64 MB 到 128 MB)。每个数据块都与一个 Map 函数相关联。 输入读取数据后,它会生成相应的键值对。输入文件位于 HDFS 中。 注意 - 输入数据可以是任何形式。Map 函数Map 函数处理即将到来的键值对,并生成相应的输出键值对。 Map 的输入和输出类型可能彼此不同。 分区函数分区函数将每个 Map 函数的输出分配给相应的 Reducer。可用键和值提供此功能。 它返回 Reducer 的索引。 洗牌和排序数据在节点之间/节点内进行洗牌,以便将其从 Map 中移出,并准备好供 Reduce 函数处理。有时,数据的洗牌可能需要很长的计算时间。 对 Reduce 函数的输入数据执行排序操作。在这里,使用比较函数比较数据,并将其排列成排序形式。 Reduce 函数Reduce 函数分配给每个唯一的键。 这些键已经按排序顺序排列。 与键关联的值可以迭代 Reduce 并生成相应的输出。 输出写入器一旦数据从上述所有阶段流出,输出写入器就会执行。 输出写入器的作用是将 Reduce 输出写入稳定存储。 下一个主题MapReduce API |
我们请求您订阅我们的新闻通讯以获取最新更新。