在MapReduce的一个Mapper中读取下一行

时间:2017-01-26 11:33:36

标签: hadoop mapreduce

我有一个文本输入文件,它由换行符分隔。在每个映射器中,我需要读取我的键/值的下一行。例如,在这个数据中:

L1

L2

L3

我需要这样的东西:

L1

L2

并在下一个映射器中:

L2

L3

提前感谢。

2 个答案:

答案 0 :(得分:2)

除了CustomInputFormat之外,您还可以在Map之类的集合中存储行,然后在每次调用时访问它

示例:

enter image description here

答案 1 :(得分:0)

您需要编写自定义的InputFormat类,它将读取您的文件并将它们分成两行的记录。标准TextFileInput一次读取一行,并将结果流传递给分拣机。因此,您的文件将在流程的最初阶段失去对行的排序。

Here is有关此内容的更多信息。