分享

求助:时间序列的数据,求相邻时间点的差值

lmqian 2017-9-29 17:40:27 发表于 疑问解答 [显示全部楼层] 回帖奖励 阅读模式 关闭右栏 6 6173
现有一堆键值对数据<timestamp, number_value>,如何设计一个mapreduce程序来求相邻时间点的差值呢?

已有(6)人评论

跳转到指定楼层
feature09 发表于 2017-9-29 17:53:56
每一个timestamp对应的number_value是唯一的么?
是的话,对timestamp作key,排序一下。
最后遍历,相邻的两个做差值计算。
回复

使用道具 举报

lmqian 发表于 2017-9-29 18:01:55
feature09 发表于 2017-9-29 17:53
每一个timestamp对应的number_value是唯一的么?
是的话,对timestamp作key,排序一下。
最后遍历,相邻 ...

number_value 肯定不是唯一的。
如何对相邻两个做差值呢?
回复

使用道具 举报

qcbb001 发表于 2017-9-29 19:34:16
lmqian 发表于 2017-9-29 18:01
number_value 肯定不是唯一的。
如何对相邻两个做差值呢?

这个相邻是按照小时,还是分钟,还是什么单位。
如果是固定的,可以放到一个分区。然后取差值试试。
回复

使用道具 举报

feature09 发表于 2017-9-29 22:18:16
lmqian 发表于 2017-9-29 18:01
number_value 肯定不是唯一的。
如何对相邻两个做差值呢?

同一时间,对应多个值,那以哪个number_value值为准?

如果可以确定的话,就是普通的遍历就行了。
for(int i=1;i<array.length;i++){
int num = array - array[i-1];
}

回复

使用道具 举报

lmqian 发表于 2017-9-30 09:28:45
qcbb001 发表于 2017-9-29 19:34
这个相邻是按照小时,还是分钟,还是什么单位。
如果是固定的,可以放到一个分区。然后取差值试试。

嗯,我也想到了这个方式,我目前遇到的情况是固定时间差的。
不过也很想知道如果时间间隔不固定,有没有什么好的处理方式。
回复

使用道具 举报

ww1532937 发表于 2017-10-9 15:26:07
我会用hive做这个
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条