如何解决计算分区HIVE中行的时间戳差异
我需要计算蜂巢中序列号的各种交互之间的差异。 我的表具有多个序列号,并且具有多个交互。我已根据其时间戳为序列号订购了交互功能。我现在也想添加一列,其中连续行的时间戳记有所不同。
例如,图像的最后一列显示预期的输出。
感谢您的帮助。
解决方法
您可以使用lag()
访问给定分区中的“上一个”行:
select
t.*,lag(timestamp) over(partition by sr_no order by timestamp) as lag_timestamp
from mytable t
假设您想要两个时间戳之间的秒数差,然后:
select
t.*,unix_timestamp(timestamp)
- unix_timestamp(lag(timestamp) over(partition by sr_no order by timestamp))
as diff_seconds
from mytable t
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。