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

来源:互联网 发布:p2p网贷平台软件 编辑:程序博客网 时间:2024/06/06 14:28

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性能

 

0 0
原创粉丝点击