如何在java中编写MR代码时决定何时使用Map-Side Join或Reduce-Side?
答案 0 :(得分:2)
Map side join在数据到达Map之前执行连接。在映射端加入数据之前,Map函数需要强大的先决条件。这两种方法都有一些优点和缺点。与reduce方面相比,Map side join是有效的,但它需要严格的格式。
先决条件:
Reduce side join也称为Repartitioned join或Repartitioned sort merge join,它也主要用于join类型。 它将不得不经历排序和洗牌阶段,这将导致网络开销。减少侧连接使用很少的术语,如数据源,标签和组密钥让我们熟悉它。
正如我们所知,我们将在减少方面加入这些数据,我们必须以可用于加入减少阶段的方式进行准备。让我们来看看需要执行的步骤。
有关更多信息,请查看此链接: http://hadoopinterviews.com/map-side-join-reduce-side-join/
答案 1 :(得分:1)
如果您的某个表可以放入内存中,您将使用mapside join,这将减少排序和随机数据的开销。
Reduce-Side连接比Map-Side连接更简单,因为不需要构造输入数据集。但两个数据集的效率都较低 通过MapReduce shuffle阶段。具有相同键的记录在减速器中汇集在一起。