开发者社区> 问答> 正文

怎么使用mapReduce实现两个表的join?

怎么使用mapReduce实现两个表的join?

展开
收起
xin在这 2021-12-06 22:09:34 485 0
1 条回答
写回答
取消 提交回答
  • 1)reduce side join : 在map阶段,map函数同时读取两个文件File1和File2,为了区分两种来源的key/value数据对,对每条数据打一个标签(tag),比如:tag=0 表示来自文件File1,tag=2 表示来自文件File2。

    2)map side join : Map side join 是针对以下场景进行的优化:两个待连接表中,有一个表非常大,而另一个表非常小,以至于小表可以直接存放到内存中。这样,我们可以将小表复制多份,让每个map task 内存中存在一份(比如存放到hash table 中),然后只扫描大表:对于大表中的每一条记录key/value,在hash table 中查找是否有相同的key 的记录,如果有,则连接后输出即可。

    2021-12-06 22:09:49
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
基于E-MapReduce梨视频推荐系统 立即下载
大数据解决方案构建详解 以阿里云E-MapReduce为例 立即下载
阿里云E-MapReduce 立即下载