概述
hive表关联条件不支持不等值连接
不等式:(>=,>,<=,<,<>,between..and)
场景
:oracle里面的SQL转化成hiveSQL中,关联时ON里面的条件如果含有不等值,那么在hive中不能直接使用,如果将不等式放在where条件中,造成下面描述问题
:
直接将不等值连接放在where条件中会过滤掉主表的部分数据,
解决
方案:
需要先通过inner join
加上非等值条件
再left join
示例
图:
--按照正常思路直接放在where下面(错误)
select t.id,t.date,t1.date
from t
lfet join t1 on t.id=t1.id
and t.date>t1.date
--正确写法
select t.id,t.date,t2.date
from t
lfet join
(select t.id,t1,date
from t
inner join t1 on t.id=t1.id
where t.date>t1.date) t2
on t.id=t2.id
最后
以上就是魔幻人生为你收集整理的hive表关联条件不支持不等值连接的全部内容,希望文章能够帮你解决hive表关联条件不支持不等值连接所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复