从品牌网站建设到网络营销策划,从策略到执行的一站式服务
这篇文章主要介绍 hive小文件如何合并,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
创新互联专注于企业成都全网营销推广、网站重做改版、泰顺网站定制设计、自适应品牌网站建设、HTML5建站、成都商城网站开发、集团公司官网建设、成都外贸网站建设公司、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为泰顺等各大城市提供网站开发制作服务。
起因:
最近仓库里面新建了一张分区表,数据量大约是12亿行,分区比较多,从2008年7月开始 一天一个分区。
配置了一个任务
对这个表进行group by 的时候 发现启动了2800多个maps .
执行的时间也高大10分钟。
然后我在hdfs文件里面看到 这个表的每个分区里面都有20多个小文件,每个文件都不大 300KB--1MB
之前的hive的参数:
hive.merge.mapfiles=true
hive.merge.mapredfiles=false
hive.merge.rcfile.block.level=true
hive.merge.size.per.task=256000000
hive.merge.smallfiles.avgsize=16000000
hive.input.format=org.apache.hadoop.hive.ql.io.CombineHiveInputFormat
mapred.max.split.size=256000000
mapred.min.split.size=1
mapred.min.split.size.per.node=1
mapred.min.split.size.per.rack=1
hive.merge.mapredfiles 这个指的是 在Map-Reduce的任务结束时合并小文件
解决办法:
1.修改参数hive.merge.mapredfiles=true
2.通过map_reduece的办法生成一张新的表 此时生成的文件变成了每个分区一个文件
再次执行group by 发现效率得到了大大的提升。
以上是“ hive小文件如何合并”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注创新互联行业资讯频道!
成都网站建设公司地址:成都市青羊区太升南路288号锦天国际A座10层 建设咨询028-86922220
成都快上网科技有限公司-四川网站建设设计公司 | 蜀ICP备19037934号 Copyright 2020,ALL Rights Reserved cdkjz.cn | 成都网站建设 | © Copyright 2020版权所有.
专家团队为您提供成都网站建设,成都网站设计,成都品牌网站设计,成都营销型网站制作等服务,成都建网站就找快上网! | 成都网站建设哪家好? | 网站建设地图