【发布时间】:2012-12-12 06:32:37
【问题描述】:
实际上,我想对 CSV 文件执行计算,对于该 CSV 文件的每一行,我还想使用前四行进行计算。我怎样才能做到这一点?我读过的几乎所有 MapReduce 示例,数据的唯一读取方式是一次读取一行,甚至不同行上的计算也是相互独立的。任何资源和好的指针将不胜感激。
【问题讨论】:
标签: hadoop mapreduce elastic-map-reduce
实际上,我想对 CSV 文件执行计算,对于该 CSV 文件的每一行,我还想使用前四行进行计算。我怎样才能做到这一点?我读过的几乎所有 MapReduce 示例,数据的唯一读取方式是一次读取一行,甚至不同行上的计算也是相互独立的。任何资源和好的指针将不胜感激。
【问题讨论】:
标签: hadoop mapreduce elastic-map-reduce
拆分记录的方式取决于所使用的 RecordReader。默认的 RecordReader 是 LineRecordReader,因此您的记录实际上是行。如果您希望数据以 4 行为一组,请尝试实现您自己的 RecordReader,它将数据分成 4 行一组。
【讨论】:
您这样做的方式是覆盖InputFormat 和RecordReader。
您可以在网上搜索 MultipleLineTextRecordReader.java MultipleLineTextInputFormat.java WholeFileTextInputFormat.java 以开始使用。
【讨论】: