开发者社区> 问答> 正文

Hadoop中SemiJoin是什么?

Hadoop中SemiJoin是什么?

展开
收起
xin在这 2021-12-06 00:19:39 292 0
1 条回答
写回答
取消 提交回答
  • SemiJoin,也叫半连接,是从分布式数据库中借鉴过来的方法。它的产生动机是:对于reduce side join,跨机器的数据传输量非常大,这成了join操作的一个瓶颈,如果能够在map端过滤掉不会参加join操作的数据,则可以大大节省网络IO。

      实现方法很简单:选取一个小表,假设是File1,将其参与join的key抽取出来,保存到文件File3中,File3文件一般很小,可以放到内存中。在map阶段,使用DistributedCache将File3复制到各个TaskTracker上,然后将File2中不在File3中的key对应的记录过滤掉,剩下的reduce阶段的工作与reduce side join相同。

    2021-12-06 08:09:53
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
Using Hadoop to buildaDataQual 立即下载
Why is my Hadoop* jobslow? 立即下载
Hadoop的过去现在和未来 立即下载

相关实验场景

更多