Reduce的并行度:
一般在集群中,一个节点启动一个reduceTask
reduceTask的数量是代码能决定的
通过job.setNumReduceTask(n)来决定,n是ReduceTask的数量,根据实验表明,reduceTask的数量与slaves节点数量保持一致的时候,性能最好。
如果有特殊情况,比如输出需要一个文件,reduceTask要设置为1.或者不需要reduceTask的时候,设置为0.
Map的并行度:
原数据需要一个临界点进行切割,可以任意设置,如果需要读取HDFS中的数据,为了读取方便,节省掉文件系统拆分再合并,合并再拆分的过程,把临界点设置为128M,与block块保持一致。
注意:
1.目录下的每个文件分别划分split
2.如果剩余大小不足原来文件的10%,为了避免过小的split,不会再进行切分。
3.每个InputSplit就启动一个mapTask。mapTask的数量与ReduceTask的数量没有关系;每个mapTask里的分区数量与reduceTask的数量有关系。分区数量<=reduceTask数量。
Reduce map的并行度
最新推荐文章于 2024-06-27 10:15:45 发布