2

是否可以对存储在 Hive 中的数据执行滞后、领先操作?

任何指针将不胜感激!

4

2 回答 2

2

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

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 ) AS NextTimestamp;

于 2015-10-16T07:39:16.733 回答
0

现在,您需要使用SQLWindowing扩展来执行滞后、超前和其他窗口功能。

将来,这将被移到 Hive 中(请参阅HIVE-896),并且语法会略有变化。

于 2013-06-09T13:41:01.057 回答