1 个回答
join其实常见的就分为两类、map-side join和reduce-side join, 当大表和小表join时,map-side jon能显著提高效率。将多份数据进行关联是数据处理过程中非常普遍的用法,不过在分布式计算系统中,这个问题往往会变的而非常麻烦,因为框架提供的join操作一般会将所有数据根据 key发送到所有的reduce分区中去,也就是shuffle的过程,造成大量的网络以及磁盘IO消耗,运行效率极其低下,这个过程一般被称为reduce-side join。
如果其中有张表较小的话,我们则可以自己在map端实现数据关联,跳过大量数据进行shuffle的过程,运行时间得到大量缩短,根据不同数据可能会有几倍到数十倍的性能提升。
如果其中有张表较小的话,我们则可以自己在map端实现数据关联,跳过大量数据进行shuffle的过程,运行时间得到大量缩短,根据不同数据可能会有几倍到数十倍的性能提升。
发布于:3个月前 (01-22) IP属地:四川省
我来回答
您需要 登录 后回答此问题!