Hadoop中缺少时间序列数据

时间:2014-08-22 03:50:18

标签: r hadoop mapreduce time-series interpolation

我有一个大文本文件(在TB中),每行都有一个时间戳和一些其他数据,如下所示:

timestamp1,data
timestamp2,data
timestamp5,data
timestamp7,data
...
timestampN,data

此文件按时间戳排序,但连续时间戳之间可能存在间隙。我需要填补这些空白并写下新文件。

这可以在Hadoop Map Reduce中完成吗?问这个问题的原因是,插入缺失的行我也需要上一行和下一行。对于Eg。要插入timestamp6,我需要timestamp5和timestamp7中的值。那么,如果从timestamp7开始坐在另一个数据块中,那么我将无法计算时间戳。

任何其他算法/解决方案?也许这不能用mapreduce完成?我们可以在RHADOOP中做到这一点吗?

(猪/蜂巢解决方案也有效)

1 个答案:

答案 0 :(得分:0)

虽然我的建议有点单调乏味,但也可能影响性能。您可以实现自己的RecordReader,并在当前拆分的所有行的末尾,使用其块位置获取下一个拆分的第一行。我建议这是因为,如果任何映射器的最后一行不完整,hadoop本身就会这样做。希望这会有所帮助!!