cdm场景迁移部分表迁移失败

举报
云技术搬运工 发表于 2021/10/26 10:30:39 2021/10/26
【摘要】 【问题现象】:使用2.8.2版本的cdm场景迁移功能迁移线下Hive数据到MRS Hive,最终作业状态显示Failed 该篇文章对该问题进行了详细分析。

【问题现象】:

使用2.8.2版本的cdm场景迁移功能迁移线下Hive数据到MRS Hive,最终作业状态显示Failed

1.png

【问题分析】:

1.点击场景迁移作业名称,进入子作业列表,可以看到每张表都对应一个子作业,子作业名称为:场景迁移作业名称_表名。找到失败的子作业,点击状态栏的问号出现以下报错:

Table creation failed. Cause: Error while processing statement: FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask.

2.png

2.点击失败子作业后面的历史记录,可以看到作业详细信息

3.png

3.点击子作业日志,发现以下报错:

An ERROR occurred when repairing the table `hlg`.`shop`.

java.sql.SQLException: ERROR while processing statement: failed: Execution ERROR, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTas

4.png

4.由上图可知是在进行repair步骤时发生异常,登录mrs集群master节点,查看/var/log/Bigdata/hive/hiveserver/hive.log日志,可以看到以下报错:org.apache.hadoop.hive.ql.metadata.HiveException:

org.apache.hadoop.hive.ql.metadata.HiveException: Invalid partition name hdfs://hacluster/user/hive/warehouse/hlg.db/shop/01

5.png

5.执行命令beeline登录hive的客户端,show create table tableName查看表结构可知该表是分区表,分区字段为monthday

6.png

6.使用hdfs命令可以看到表数据目录如下:

7.png

可知数据文件迁移成功,但是hive修复表分区时无法识别该路径,hive正常分区表数据路径格式应该为:/user/hive/warehouse/hlg.db/shop/month=01/day=01/000000_0

经确认,原表数据是手动创建的分区目录,并把数据文件上传进去,所以迁移过来之后也是这种路径格式

【解决方案】:

1.手动修改数据目录为/user/hive/warehouse/hlg.db/shop/month=01/day=01/000000_0

2.在beeline中重新修复表分区:msck repair table shop;

查询数据成功

8.png

 

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

举报
请填写举报理由
0/200