Hive 调整inputsplit size来增加MAP数

简介:

线上一个HiveCDH4.2.0)的清洗Job出错,查看日志发现其中一个MAP OOME

resserver.php?blogId=43144&resource=hive

查看了日志这个HQL2个表进行Joinsplits=2即开了2MAP进行分别处理,其中一个大表123MB<dfs.block.size=128MB),500W行左右,应该是数据量超过了MAP的内存了,通过对比前一天的日志可以确认:

resserver.php?blogId=43144&resource=hive

由于是临时表,设置了mapred.reduce.tasks=20重跑新生成临时表,Join清洗成功:

resserver.php?blogId=43144&resource=hive

由于MRinputsplit size=min{minsplitsize,max{maxsplitsize,blocksize}},因此想是否可以通过设置mapred.max.split.size=32MB来起多个MAP这种方式解决呢,尝试后发现仍然是2MAP;以为是BugMAPREDUCE-2046,但是CDH4.2已经merge进来,看了一圈由于sequencefileinputformat是老的mapreduce api接口,修改一下hive.input.format然后通过设置mapred.map.tasks增加果然起了预期的MAP数;



本文转自MIKE老毕 51CTO博客,原文链接:http://blog.51cto.com/boylook/1298637,如需转载请自行联系原作者

相关文章
|
8月前
|
存储 SQL HIVE
数据仓库的Hive的数据类型的复杂数据类型的map
在数据仓库领域,Hive是一个常用的工具。它提供了一种简单的方式来查询和分析大量数据。
81 0
|
10月前
|
SQL HIVE
|
SQL 分布式计算 算法
|
SQL HIVE
关于Hive中的复杂数据类型Array,Map,Structs的一些使用案例
写在前边的话:         同样是在做豆瓣电影数据分析的小课题的时候遇到的一个问题:hive表中的电影类型存储格式为array,那么我如何针对每一个类型做统计呢?         本来是想在基于豆瓣电影数据进行相关的数据分析项目      中进行相关解释说明的,仔细想了下,刚好拿...
2423 0
|
SQL 分布式计算 算法
|
4月前
|
SQL 数据采集 数据挖掘
大数据行业应用之Hive数据分析航班线路相关的各项指标
大数据行业应用之Hive数据分析航班线路相关的各项指标
97 1
|
4月前
|
SQL 存储 大数据
【大数据技术Hadoop+Spark】Hive基础SQL语法DDL、DML、DQL讲解及演示(附SQL语句)
【大数据技术Hadoop+Spark】Hive基础SQL语法DDL、DML、DQL讲解及演示(附SQL语句)
73 0