Partition和ReduceTask的关系

先看源码:

结论:

1.ReduceTask的数量由job提交时的参数决定:job.setNumReduceTasks()。设置为多少,就开启多少个ReduceTask,默认为1。设置为0时,则表示没有Reduce阶段,只有Map阶段。生成文件数量由ReduceTask数量决定。

2.Partitioner的数量由ReduceTask的数量决定, Partitioner数量 =ReduceTask数量。

其中: 1)若ReduceTask = 1 ,无论用户有没有自定义分区规则,都只有一个分区。

2)若设置ReduceTask >1,则 如果用户没有自定义Partitioner,则按照默认的HashPartitioner对数据进行划分。

如果用户自定义了Partitioner,则其中的分区的个数不能超过Partittion的数量,否则会Exception。

Original: https://www.cnblogs.com/ji-lei/p/16338019.html
Author: Ji_Lei
Title: Partition和ReduceTask的关系

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/562847/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球