我有一个300mb的文本文件,块大小为128mb。因此将创建总共3个块128+128+44 mb。更正我-对于map reduce,默认输入拆分与128mb的块大小相同,可以配置。现在,记录读取器将读取每个拆分,并创建键值对,其中键是偏移量,值是单行。(TextInputFormat)问题是,如果我的块的最后一行结束,但该行确实在另一个块中结束,那么该行的其余部分是从另一个节点获取的,还是在另一个节点中运行。另外,第二个节点将如何理解它的第一行已经被用于处理,并且它不需要再次处理。
例如This is stackoverflow.This (end of block 1/input split)是map reduce的一个例子。(行尾)
发布于 2017-12-29 04:03:00
将为此场景生成3个映射器。Hadoop在每个块的末尾使用一个指针来指示下一个块的位置,因此映射器1将处理完整的行,这可能是块2的一部分,而映射器2将从离开该行开始处理。
https://stackoverflow.com/questions/47760893
复制相似问题