您的位置:首页 > 其它

Hive中小表与大表关联(join)的性能分析

2014-05-26 08:13 288 查看
http://blog.csdn.net/wisgood/article/details/17739177

这篇文章分析的很详细,配上了例子

得出的结果:

假设A.id=B.id,A表id=3的有N条,B表id=3的有M条,两个表关联时,reduce会处理id相同的记录,那reduce时比较的次数:

N*(1+M)

该公式可以验证博文中提到的各种例子,也可以证明为什么要把参与join的key(此处为id)重复记录较少的表放前面的原因,因为N++,或导致1+M次的增加。

补充的说法,跟join无关的、A、B表中不存在重复的key,都不会影响join的性能,所以不能简单的认为“把小表放前面”就能提高性能

比如A表中有一条记录id=4,而B表中没有id=4的记录,那不管A表中id=4的记录有多少条,都不会影响join性能
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: