Hive踩过的坑-HIVE处理非等值连接(JOIN XX ON XX LIKE XX)
- 151 次检阅

SELECT * FROM TABLE1 A LEFT OUTER JOIN TABLE2 B ON A.XX LIKE CONCAT('%' , B.YY , '%')
这个语句在oralce 或者mysql 都可以执行
可是用以上代码放到HIVE中执行,发现报错,原因是HIVE不支持非等值连接。
所以还是用最老套的办法
SELECT * FROM TABLE1 A ,TABLE2 B WHERE A.XX LIKE CONCAT('%' , B.YY , '%')
达到相同的办法吧,虽然这个真的把性能和速度降低了N倍,但是hive真的只能这样吧(自己想到的办法)如果有好的方法告诉我吧,感谢!
至于为什么HIVE不支持非等值连接,这可能是因为Hive很难把不等条件翻译成mapreduce job

分享到:

这篇文章有1条评论

  1. 伍园目录
    NO:2868 / 發布於 - 2018-11-21 #1 回复

    射你哦

发表评论