Mix*_*xer 6 sql hadoop hive left-join
我需要在employee_id上将tableA连接到tableB,并且表A中的cal_date需要在表B的日期开始和结束日期之间.我运行下面的查询并收到以下错误消息,请你帮我纠正和查询.谢谢你的帮助!
在JOIN'date_start'中遇到左右别名.
select a.*, b.skill_group
from tableA a
left join tableB b
on a.employee_id= b.employee_id
and a.cal_date >= b.date_start
and a.cal_date <= b.date_end
Run Code Online (Sandbox Code Playgroud)
RTFM - 引用LanguageManual Joins
Hive 不支持非相等条件的连接条件,因为很难将此类条件表达为 Map/Reduce 作业。
您可能会尝试将 BETWEEN 过滤器移至 WHERE 子句,从而导致糟糕的部分笛卡尔连接,然后进行后处理清理。恶心。根据“技能组”表的实际基数,它可能会快速运行 - 或需要一整天的时间。