当前位置:编程学习 > 网站相关 >>

map和reduce的数量是如何定义的

一般情况下,在输入源是文件的时候,一个task的map数量由splitSize来决定的,那么splitSize是由以下几个来决定的
 
goalSize = totalSize / mapred.map.tasks
 
inSize = max {mapred.min.split.size, minSplitSize}
 
splitSize = max (minSize, min(goalSize, dfs.block.size))
 
一个task的reduce数量,由partition决定。
 
在输入源是数据库的情况下,比如mysql,对于map的数量需要用户自己指定,比如
 
jobconf.set("mapred.map.tasks.nums",20);
 
如果数据源是HBase的话,map的数量就是该表对应的region数量。
 
 
补充:综合编程 , 其他综合 ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,