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;
这会产生一个数字。您可以随意构造字符串。
我有这个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;
这会产生一个数字。您可以随意构造字符串。