缺失时间序列数据

bt1cpqcv  于 2021-05-30  发布在  Hadoop
关注(0)|答案(1)|浏览(354)

我有一个大的文本文件(tbs),每一行都有一个时间戳和一些其他数据,比如:

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

此文件按时间戳排序,但连续的时间戳之间可能存在间隙。我需要填补这些空白,写新的文件。
这可以在hadoop map reduce中完成吗?问这个问题的原因是,为了插入缺失的行,我也需要上一行和下一行。例如,为了插值timestamp6,我需要timestamp5和timestamp7中的值。所以,如果从timestamp7开始,在另一个数据块中,我将无法计算timestamp6。。
还有其他算法/解决方案吗?也许这不能用mapreduce完成?我们能在rhadoop做这个吗?
(Pig/Hive解决方案也有效)

ioekq8ef

ioekq8ef1#

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

相关问题