其他分享
首页 > 其他分享> > MapJoin原理

MapJoin原理

作者:互联网

MapJoin流程图

使用场景

MapJoin通常用于一个很小的表和一个大表进行join的场景,具体小表有多小,由参数hive.mapjoin.smalltable.filesize来决定,该参数表示小表的总大小,默认值为25000000字节,即25M。
Hive0.7之前,需要使用hint提示 /*+ mapjoin(table) */才会执行MapJoin,否则执行Common Join,但在0.7版本之后,默认自动会转换Map Join,由参数hive.auto.convert.join来控制,默认为true.
假设a表为一张大表,b为小表,并且hive.auto.convert.join=true,那么Hive在执行时候会自动转化为MapJoin。

MapJoin流程

MapJoin简单说就是在Map阶段将小表读入内存,顺序扫描大表完成Join。减少昂贵的shuffle操作及reduce操作
MapJoin分为两个阶段:

文章转载与微信公众号“大数据私房菜”

标签:Map,Join,MapReduce,hive,MapJoin,原理,大表
来源: https://blog.csdn.net/QiSorry/article/details/113001811