Hive 中的计算列

Calculated column in Hive

我有这个table,我想使计算列形成最右边。

我的逻辑如下:

For all IDs 
   For all rows 
     IF (delta <= 2 OR delta = NULL) { "Observation " + counter' }
     ELSE { counter +1; "Observation " + counter; }
   reset counter to 1

但我可以翻译成SQL

您可以使用 window 函数执行此操作:

select t.*,
       sum(case when delta > 2 then 1 else 0 end) over (partition by id order by time end) + 1
from t;

这会产生一个数字。您可以随意构造字符串。