我们可以通过哪些方式使MapReduce程序读取数据?

时间:2012-12-12 06:32:38

标签: hadoop mapreduce elastic-map-reduce

实际上,我想对CSV文件执行计算,对于该CSV文件的每一行,我还想使用前四行进行计算。我怎样才能做到这一点?几乎所有我读过的MapReduce示例,读取数据的唯一方法是一次一行,甚至不同行上的计算也是相互独立的。任何资源和好的指针将不胜感激。

2 个答案:

答案 0 :(得分:0)

记录分割的方式取决于所使用的RecordReader。默认 RecordReader LineRecordReader ,因此您的记录实际上是行。如果您希望数据以4行的形式存在,请尝试实现自己的RecordReader,将数据划分为4行组。

http://developer.yahoo.com/hadoop/tutorial/module4.html

答案 1 :(得分:0)

您这样做的方法是覆盖InputFormatRecordReader

您可以在网络上搜索MultipleLineTextRecordReader.java MultipleLineTextInputFormat.java WholeFileTextInputFormat.java以开始使用。