欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

hive的不等值关联 博客分类: hive hive非等值连接join 

程序员文章站 2024-03-15 13:18:17
...

hive中不支持不等值关联,诸如:

 

select a.app_name,
b.app_name 
from a 
left outer join b 
on (b.app_name like a.app_name) 

 

select a.app_name,
b.app_name 
from a 
left outer join b 
on (b.num < a.num) 

 

其实,不支持指的是在on后面的连接条件中不支持费等值连接,

在业务场景以及数据量允许的条件下,可做如下变通:

 

select a.app_name,
b.app_name 
from a 
left outer join b 
where instr(b.app_name,a.app_name) > 0 

 

select a.app_name,
b.app_name 
from a 
left outer join b 
where b.num < a.num 

 

即:先让两个表做笛卡尔积,再从结果中过滤所需要的。

hive中很多地方还是需要变通的。

别忘了验证记录数和结果集的正确性。