首页 > 其他 > 详细

大数据批处理系统之Map-side Join分析

时间:2014-11-12 02:39:04      阅读:315      评论:0      收藏:0      [点我收藏+]
      常见的离线计算的Join模式分为Reduce Join 和Map Join。MapJoin 处理的表 ,比如一个表比较大(L),一个表比较小(R)。
     例如根据用户id,对下图的两个表进行合并操作。当这两个表要按照外键key,进行Join操作的时候,系统该如何做呢?
     该方法有一个前提条件,就是R 必须能够Load进内存中。将R放入到(以外键作为key)的哈希表中。然后遍历L,将L中的每个元素都插入到哈希表中,如果哈希表中没有,则不插入,有的话就插入到哈希表中。这样就减少了shuffle网络传输过程和Reduce中的排序过程。
      在设计Hive 或者其他的基于Mapreduce模型的SQL的时候,Join方式的不同将大大的影响系统的性能。
bubuko.com,布布扣

大数据批处理系统之Map-side Join分析

原文:http://blog.chinaunix.net/uid-25267728-id-4610257.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!