hive 之 join 大法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了hive 之 join 大法相关的知识,希望对你有一定的参考价值。
参考技术A hive 当中可以通过 join 和 union 两种方式合并表,其中 join 偏向于横向拼接(增加列的数量),union 则主要负责纵向拼接(增加行的数量)。本文先讲解一下 join。hive 中 join 主要分为六种,join、left (outer) join、right (outer) join、full (outer) join、cross join 和 left semi join。
切记,使用 join 时不能忘记关键字 on。如果结尾未写 on,则都相当于进行 cross join,笛卡儿积关联(左表一万条数据,右表一万条数据,笛卡儿积之后就是一亿条数据,可怕吧~)。
附注一句,join 中将大表写在靠右的位置,hive 处理速度也会快一些~
hive 中不支持 where 语句的子查询。如下sql 语句在 hive 中是要凉凉的:
改写其实也很简单:
那么更加高效的 semi 写法是怎样的呢?
ok,今天就先讲到这里,谢谢各位看官阅读~
以上是关于hive 之 join 大法的主要内容,如果未能解决你的问题,请参考以下文章