是否可以在一个ShuffleDependency

时间:2017-04-11 10:05:10

标签: apache-spark

可以在ShuffleDependency上设置两个选项/属性mapSideCombinekeyOrdering

我注意到reduceByKey和sortByKey只为每个方法设置了这两个属性中的一个,

我会问是否可以将mapSideCombine设置为true,并为同一个ShuffleDependency设置keyOrdering的Ordering对象。如果是这样,有人可以举个例子吗?

我这么问,因为在SortShuffleWriter#write方法中,有以下代码:

sorter = if (dep.mapSideCombine) {
  require(dep.aggregator.isDefined, "Map-side combine without Aggregator specified!")
  new ExternalSorter[K, V, C](
    context, dep.aggregator, Some(dep.partitioner), dep.keyOrdering, dep.serializer)
}

此处,如果dep.mapSideCombine为真,并且dep.keyOrdering只能为无,我们可以向dep.keyOrdering构造函数提供None而不是ExternalSorter吗?

0 个答案:

没有答案