我是靠谱客的博主 魔幻人生,这篇文章主要介绍hive表关联条件不支持不等值连接,现在分享给大家,希望可以做个参考。

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表关联条件不支持不等值连接内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(110)

评论列表共有 0 条评论

立即
投稿
返回
顶部