r - Hadoop中缺少时间序列数据

标签 r hadoop mapreduce time-series interpolation

我有一个大文本文件(以TB为单位),每一行都有一个时间戳和一些其他数据,例如:

时间戳1,数据
时间戳2,数据
时间戳5,数据
时间戳7,数据
...
时间戳,数据

该文件按时间戳排序,但是连续的时间戳之间可能会有间隔。我需要填补这些空白并编写新文件。

可以在Hadoop Map Reduce中完成吗?问这个问题的原因是为了插入缺失的行,我也需要前一行和下一行。例如要内插timestamp6,我需要timestamp5和timestamp7中的值。那么,如果从timestamp7开始位于另一个数据块中,在这种情况下,我将完全无法计算timestamp6。

还有其他算法/解决方案吗?也许mapreduce无法做到这一点?我们可以在RHADOOP中做到吗?

( pig / hive 解决方案也有效)

最佳答案

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

关于r - Hadoop中缺少时间序列数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25439251/

相关文章:

java - 在使用 hadoop 从原始日志中捕获异常时,一个完整的异常将被拆分为 2 个映射

java - 错误 - 映射 : expected org. apache.hadoop.io.Text 中的键类型不匹配,收到 org.apache.hadoop.io.LongWritable

java - 获取权限被拒绝(公钥)。在AWS上启动hadoop集群时

r - R 中的双曲正切在 Windows 中抛出 NAN 但在 Mac 中不抛出?

R Parallel,每次使用并行应用时创建一个新集群会更好吗?

hadoop - RHive 不支持 CDH4

java - 如何在不在 libjars 中编写完整类路径的情况下在 scalding/hadoop 作业中运行 slim jar

r - 在 R/Splus 中编写函数来处理多种数据类型?

图中的 R 科学记数法

sql-server - 批量插入(BCP)到 SQL Server VS Sqoop 导出到 SQL Server