是否可以对存储在hive中的数据执行滞后、超前操作?任何指点都将不胜感激!!!
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;
yquaqz182#
现在您需要使用sqlwindowing扩展来执行滞后、超前和其他窗口功能。将来,它将被移动到hive中(参见hive-896),并且语法将稍有改变。
2条答案
按热度按时间gdx19jrr1#
您可以使用滞后函数获取以前的时间戳示例如下:
与lead相同,这里默认一行nvl(lead(currenttimestamp,1)over(partition by[partinioned columns]order by currenttimestamp asc),0)作为nexttimestamp;
yquaqz182#
现在您需要使用sqlwindowing扩展来执行滞后、超前和其他窗口功能。
将来,它将被移动到hive中(参见hive-896),并且语法将稍有改变。