Hive连接?

  内连接(等值连接)inner join,外连接(等值连接)out join,笛卡尔积(join),map端连接(支持不等值连接)。

  Map连接:如果连接的表有一张是小表,则完全可以将小表放入内存,通过与大表一行行的匹配,从而可以省略掉常规join的reduce过程。大多数情况下hive会为每一个join启动一个mapreduce任务。通常情况下,要连接的各个表里面的数据会分布在不同的Map中进行处理。即同一个key对应的value可能存在不同的Map中。这样就必须等到Reduce中去连接。要使Map Join能够顺利进行,那就必须满足这样的条件:除了一份表的数据分布在不同的Map中外,其他连接的表的数据必须在每个Map中有完整的拷贝。

  使用场景:1.其中有一张表较小。 2.需要做不等值join操作。

猜你喜欢

转载自my.oschina.net/134596/blog/1799260