我是靠谱客的博主 微笑豆芽,最近开发中收集的这篇文章主要介绍hive端的map端的优化手段,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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端的优化手段所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(60)

评论列表共有 0 条评论

立即
投稿
返回
顶部