Hive mapreduce报错:java.io.IOException: Split metadata size exceeded 10000000

mapreduce报错:java.io.IOException: Split metadata size exceeded 10000000

一、问题现象

客户在用hive sql做几张表的组合分析,使用mr引擎。 因为其中有一张表超过5万个分区,数据总量超过8千亿条,因此运行过程中出现失败,报错如下所示:

org.apache.hadoop.mapreduce.v2.app.job.impl.JobImpl: 
Job init failed org.apache.hadoop.yarn.executions.YarnRuntimeException: 
java.io.IOException:Split metadata size exceeded 10000000. Aborting job job_1558160008053_0002

根据报错,分析得到出错原因: 该job的job.splitmetainfo文件大小超过限制;

从hadoop源码里面可以查询到,是因为 mapreduce.job.split.metainfo.maxsize 参数默认设置1千万导致的。

为什么采用默认的1千万还不够呢?这就要从 mapreduce.job.split.metainfo.maxsize 参数的含义说起:

job.splitmetainfo该文件记录split的元数据信息,如input文件过多,记录的文件结构信息超出默认设置就会报错;输入文件包括大量小文件或者文件目录,造成Splitmetainfo文件超过默认上限。
这个机制也是hadoop集群要求文件大小不能过小或目录过多,避免namenode出现元数据加载处理瓶颈。如block默认128M,则文件应大于这个&
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

二十六画生的博客

你的鼓励是我创作最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值