概述
map存在的问题;1>map数过大,如果map数过大。在map端会产生大量的小文件(初始化和创建map数消耗资源过大)
2>map数太小,job的执行度变小
map的数取决于输入文件的大小,和文件的数决定,
3>2种方法来增加map的数和减少map数
数据源方式 : 1>通过输入小文件的数目进行合并来减少map的数目
2>通过2个job,第一个job的reduce的输出文件进行合并,来减少下一个阶段的map的数目
参数调优:map阶段自动合并小文件参数:hive.input.format=org.apache.hadoop.hive.ql.io.CombineHiveInputFormat;(默认是打开的,map端数据源的输入小文件自动合并) hive.merge.mapfiles=true;(map端的输出数据进行合并)
hive.merge.mapredfiles=false;(map-reduce端的输出数据进行合并,默认是false)
hive.merge.size.per.task=256000000;(每个task合并的文件大小)
mapred.max.split.size = 256000000;每个map最大分割大小,这个配置项决定了每个 Input Split的最小值
mapred.min.split.size.per.node(一个节点上split的最小大小)
最后
以上就是微笑豆芽为你收集整理的hive端的map端的优化手段的全部内容,希望文章能够帮你解决hive端的map端的优化手段所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复