这是我关于 SO 的第一篇文章。所以我完全有可能违反了很多发帖规则。如果是这种情况,请告诉我,我将确保不再重复。
我一直试图在 Hive 的同一查询中获得滚动平均值和绝对数,这就是我所拥有的。这在 Redshift 中运行良好,但在 Hive 中给了我一个错误。看起来不支持 select 语句中的子查询。想知道我是否可以获得一些关于如何修改此查询以从 Hive 中获得相同结果的指示。
select
a.ds,
a.traffic_source,
a.device_type,
count(distinct a.unique_id) as daily_deduped_visits_human,
(select
count(distinct b.unique_id)
from
scratch.unique_human_id b
where
b.ds >= a.ds - 28
and b.ds <= a.ds
and a.traffic_source = b.traffic_source
and a.device_type = b.device_type
)/28 as rolling_28_day_average_visits_human
from
scratch.unique_human_id a
group by 1,2,3