Hive间隔之间的范围

时间:2018-10-25 14:59:28

标签: hadoop hive

早上好, 请给我建议, 我该如何替换此Oracle语法:

sum(fact) over(partition by name order by rep_date range between interval '20' month preceding and current row) as w_sum

要在Hive中使用它?我有一个与间隔'20'有关的错误

1 个答案:

答案 0 :(得分:1)

使用unix_timestamp将rep_date转换为自Unix纪元以来的秒数,然后计算20个月的秒数,并在两者之间的范围内使用。 Hive不支持在范围内指定间隔类型。

sum(fact) over(
    partition by name 
    order by unix_timestamp(rep_date,'MM-dd-yyyy') -- Specify the rep_date format here
    range between 51840000 preceding and current row) as w_sum