简述如何得到map 个数

发现这个作者总结的很好,大家直接去原作者下学习吧~原文链接:https://blog.csdn.net/qq_26442553/article/details/99438121

如果对于Hive调优,想通过控制map个数进行调优,首先确定集群是否启动了压缩,且压缩的算法是否直接文件切分,然后再确定集群配置的默认的hive.input.format是什么实现类,不同实现类对于split的算法不同,当然控制map的参数也不同。所以对于控制map个数调优远远不是网上很多人说的那么简单。
————————————————
 

我总结的还待改进:

dfs.block.size=256  集群块的大小

total_size 每个文件的大小;

default_num = total_size/dfs.block.size ; 

default_num = max(default_num,集群默认2)

可以根据map.mapred.task 来指定map数量,前提是,这个数量大于split_num 生效;

还有两个参数 map.min.split.size  、 map.max.spit.size ;

如果split_size= dfs.block.size > map.min.split.size &&  dfs.block.size<map.max.spit.size   则用dfs.block.size

否则用 map.min.split.size  、 map.max.spit.size ;

split_num = total_size/split_size ; 

compute_map_num =  split_num

input_file_num 文件的个数,每一个map处理的数据是不能跨越文件的;m 个数一定>=input_file_num

m个数=  max(compute_map_num, input_file_num)

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值