Mapreduce中几种join的实现逻辑思想

在mapreduce中分为3大join逻辑,分别的是Map端的join,reduce端的join,semi  join

      1>map 端的join实现逻辑:首先他会有2个map任务,第一个Map任务会将小表的数据完全加载到内存中,并且将数据映射成hashmap的数据结构,在该结构中key就是对应的我们连接的那个key,第2个map任务会去扫描大表的数据,与小表中的数据的key去匹配,如果相等,就进行一个连接操作

    2>reduce端的join:map任务会将将每个表映射成k,v的数据结构,并对表的数据进行打入来源标记,在reduce任务中,获取2张表享同的key就进行一个连接操作

   3>semi join:该join的是实现其实就是reduce端join 的一个优化 ,会在map端过滤掉不能join的数据,这样就可以减少数据的传输,减少磁盘io.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值