mapjoin和reduce join哪种方式更好

2020-09-16 16:11发布

3条回答
羊羊羊羊
2020-09-17 15:14

MapJoin和ReduceJoin区别

1 Map-side Join(Broadcast join)

思想:

小表复制到各个节点上,并加载到内存中;大表分片,与小表完成连接操作。

这种方法有明显的局限性:

  • 有一份数据比较小,在map端,(ujiuye)能够把它加载在内存,并进行join操作。


2 Reduce-side Join(shuffle join)

思想:

map端按照连接字段进行hash,reduce端完成连接操作

这种方法有2个问题:

  • map阶段没有对数据瘦身,shuffle的网络传输和排序性能很低。

  • reduce端对2个集合做乘积计算,很耗内存,容易导致OOM。


一周热门 更多>