split和block的区别以及maptask和reducetask个数设定

  • split和block的区别:

很多人可能认为在hadoop中的split和block是一样的,可能是因为hadoop在默认情况下split的大小和hdfs文件分块大小是一样而被误导吧。

下面来谈谈他们的区别和联系:
1.split是mapreduce中的概念,而block是hdfs中切块的大小。

2.split的大小时默认和hdfs的block块大小一致,但是可以通过配置文件自己设置:
其中有俩个配置文件(如下):

--minsize   默认大小为1
mapreduce.input.fileinputformat.split.minsize  

--maxsize   默认大小为Long.MAXValue 
mapreduce.input.fileinputformat.split.maxsize

在mapreduce的FileInputFormat类中有个getSplits() 方法对文件进行split,算法如下:

Math.max(minSize, Math.min(maxSize, blockSize));

1.如果blockSize小于maxSize && blockSize 大于 minSize之间,那么split就是blockSize;

2.如果blockSize小于maxSize && blockSize 小于 minSize之间,那么split就是minSize;

3.如果blockSize大于maxSize && blockSize 大于 minSize之间,那么split就是maxSize;


maptask和reducetask个数设定:

  • 列表内容

1.在hadoop中一个split对应一个maptask,需要改变maptask的个数就需要改变上面所描述的配置。

2.而reducetask的个数可以又自己设定

job.setNumReduceTasks(10);
  • 8
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值