首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 互联网 >

hive的不等值联系关系

2012-09-10 
hive的不等值关联hive中不支持不等值关联,诸如:?select a.app_name,b.app_name from a left outer join b

hive的不等值关联

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中很多地方还是需要变通的。

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

?

?

热点排行