hive - return code (数字) from org.apache.hadoop.hive.ql.exec错误系列集合

本文总结了在执行Hive查询和数据加载时遇到的常见问题及解决方法,包括TezTask和MapRedTask失败、动态分区超出限制以及HDFS权限问题。针对这些问题,提出了设置查询向量模式、调整最大动态分区数和使用HDFS权限修复命令的解决方案。对于数据加载异常,强调了外部分区表的管理,如手动删除分区后的修复步骤,包括运行MSCK REPAIR TABLE命令。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

return code 2 from org.apache.hadoop.hive.ql.exec.tez.TezTask. Vertex failed

解决方法:开启查询向量模式
设置参数: set hive.vectorized.execution.enabled=false;

return code 2 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask

出现问题的原因是分配的分区超出了设置,可以在当亲的会话中修改临时配置
set hive.exec.max.dynamic.partitions.pernode=500;

return code 1 from org.apache.hadoop.hive.ql.exec.MoveTask. Unable to move source hdfs://XXX to destination hdfs://xxx

原因:执行hive任务的用户对hdfs://xxx没有操作权限
解决:对目录授权
命令:hdfs dfs -chown -R use:group  hdfs://xxx

return code 1 from org.apache.hadoop.hive.ql.exec.MoveTask. Exception when loading 1 in table

报错详情:
ERROR : FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.MoveTask. Exception when loading 1 in table dwd_ihp_inventory_detail with loadPath=hdfs://prod-yingzi-cluster/warehouse/tablespace/external/hive/yz_datawarehouse_dwd.db/dwd_ihp_inventory_detail/.hive-staging_hive_2021-11-29_21-14-43_450_8705887740980246760-5563/-ext-10000

原因分析:
1、insert 的表是外部分区表
2、人为物理删除分区目录文件,但没有进行分区修复:MSCK REPAIR TABLE table_name; 【没有删除元数据库对应的数据】 ,这会导致元数据不一致而无法写入数据

解决:
1、执行分区修复命令:MSCK REPAIR TABLE table_name;
2、多跑几次或许会成功[看运气]
3、建议改为使用内部分区表[基本都可以解决]
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值