TotalOrderPartitioner 和 mrjob

TotalOrderPartitioner and mrjob

使用mrjob时如何指定TotalOrderPartitioner?这是默认值,还是必须明确指定?我在不同的数据集上看到了不一致的行为。

可以用job.setPartitionerClass(TotalOrderPartitioner.class);

指定

它不是默认的分区程序 class。默认是 HashPartitioner class.

这不是一个非常容易使用的分区系统。使用 TotalOrderPartitioner 时,您必须使用 InputSampler 对输入数据进行预采样。

我写了一个非常详细的教程,其中包含有关如何使用这些 here 的示例和插图(从初学者到高级用法)。