MapReduce基础知识

问题描述 投票:0回答:1

我有一个300mb的文本文件,块大小为128mb。因此将创建总共3个块128 + 128 + 44 mb。纠正我 - 对于map reduce,默认输入分割与可以配置的128mb的块大小相同。现在记录阅读器将读取每个分割并创建键值对,键是偏移量,值是单行。 (TextInputFormat)问题是,如果在我的块的最后一行块结束但该行在另一个块中结束,则该行的其余部分将从不同的节点获取,或者剩余的行将在另一个节点中运行。另外,第二个节点将如何理解其第一行已经被处理并且不需要再次处理。

例如,这是stackoverflow.This(块1的结尾/输入拆分)是map reduce示例。 (行结束)

mapreduce input-split recordreader
1个回答
0
投票

将为此方案生成3个映射器。 Hadoop在每个块的末尾使用一个指针指示下一个块的位置,因此映射器1将处理完整的行,这可能是块2的一部分,映射器2将通过离开该行开始处理。

© www.soinside.com 2019 - 2024. All rights reserved.