hive分区表值为中文导致无法删除表解决方法

当Hive表的分区值包含中文时,可能导致无法删除表。解决方法包括:1) 查询并获取库ID和表ID;2) 修改PARTITIONS表中中文分区名;3) 更新PARTITION_KEY_VALS表中的中文分区值;4) 修改SDS表的存储位置;5) 检查并更新HDFS上的文件路径名;6) 最后成功删除表。
摘要由CSDN通过智能技术生成

日前有用户反映之前创建的hive表无法删除,登录后台查询发现用户使用了中文作为分区值,下面是解决方法:

1.删表时报错信息

StatementCallback; SQL [DROP TABLE IF EXISTS qcdb.eval_15696_kpi]; Error while processing
statement: FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. MetaException
(message:Timeout when executing method: drop_table_with_environment_context; 1800028ms exceeds 1800000ms);
nested exception is java.sql.SQLException: Error while processing statement: FAILED: Execution Error,
return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. MetaException(message:Timeout when executing
method: drop_table_with_environment_context; 1800028ms exceeds 1800000ms)

2.解决办法

解决思路无非就是修改hive元数据表。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值