如何对存储在hive中的数据执行滞后/超前操作?

q3aa0525  于 2021-06-04  发布在  Hadoop
关注(0)|答案(2)|浏览(339)

是否可以对存储在hive中的数据执行滞后、超前操作?
任何指点都将不胜感激!!!

gdx19jrr

gdx19jrr1#

您可以使用滞后函数获取以前的时间戳示例如下:

NVL( LAG (currentTimestamp, 1) OVER (PARTITION BY [partinioned columns] ORDER BY currentTimestamp ASC)  , 0 ) AS previousTimestamp;

与lead相同,这里默认一行nvl(lead(currenttimestamp,1)over(partition by[partinioned columns]order by currenttimestamp asc),0)作为nexttimestamp;

yquaqz18

yquaqz182#

现在您需要使用sqlwindowing扩展来执行滞后、超前和其他窗口功能。
将来,它将被移动到hive中(参见hive-896),并且语法将稍有改变。

相关问题