[已解决]FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.MoveTask. Unable to

Hive任务中执行错误,源于源HDFS路径残留数据。问题归咎于HDFS权限和数据安全,需清理路径后重跑任务。

FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.MoveTask. Unable to move source hdfs://master:8020/user/hive/warehouse/app_xgdsj.db/student_consume_trend_group/year=2023/.hive-staging_hive_2023-10-31_20-30-53_009_9218967460329396263-1/-ext-10000 to destination hdfs://master:8020/user/hive/warehouse/app_xgdsj.db/student_consume_trend_group/year=2023

问题

unable to move source hdfs

思路

1.报错情况
有个小伙伴hive任务报错,moving data时,报错如下

Failded with exception:unable to move source hdfs://…

2.问题排查
这种情况一般跟任务没有关系了,说明hive任务已经执行成功了。因为默认hive,spark任务数据先写到一个临时目录,等各个节点的数据都写完整以后,校验没问题了,在move到表的hdfs路径下(所谓move其实就是重命令),这个过程报错,说明跟hdfs有关系,跟yarn,hive,spark都没有关系了。

查看yarn日志,显示日志果然已经执行成功。

img

既然跟hdfs有关系,那就说明一般是路径有问题(比如权限,路径异常,节点丢失等等)。

先看hdfs路径,发现该路径下竟然有文件,不合理哇,看文件时间不是任务执行时间。表都未创建。很明显因为这个路径有数据存在,造成表加载异常,move失败。(原因是因为为了数据安全,hdfs路径加T权限,只有表的所有者才可以删表,其他人删不了数据,估计是删表异常,造成数据未删除。)

3.解决方案

解决

hdfs dfs -rm -r /user/hive/warehouse/app_xgdsj.db/student_consume_trend_group/year=2023

很简单,把表所在的路径数据清空即可

img

任务重跑,问题解决

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

秒懂AI+

觉得有用,要个免费的三连可有?

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

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

打赏作者

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

抵扣说明:

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

余额充值