sql中的动态聚合(hive)

niwlg2el  于 2021-05-29  发布在  Hadoop
关注(0)|答案(1)|浏览(407)

我有两张table。表a有3列:userid、开始日期和结束日期。带有事件和日期时间戳的表b。我想将表b聚合到基于表a的开始日期和结束日期之间的日期时间。所以有点像。。。

select a.userid, count(distinct b.eventid) as events
from table a
inner join table b
on a.userid=b.userid
and b.datetime between a.starttime and b.endtime
group by a.userid

但Hive不喜欢这样。。。我在用hadoop hortonworks。如有任何指导,我们将不胜感激!

0yg35tkg

0yg35tkg1#

移动 between 条件到 where 作为唯一的平等条件 join 版本2.2.0之前支持。
从配置单元文档
支持on子句中的复杂表达式,从hive 2.2.0开始(请参阅hive-15211、hive-15251)。在此之前,配置单元不支持非相等条件的连接条件。

相关问题