当google存储在属性中设置为location时,msck命令抛出错误

ffvjumwh  于 2021-05-29  发布在  Hadoop
关注(0)|答案(2)|浏览(371)

我有一个外部分区的配置单元表,其位置设置为“gs://x”。我手动添加了一些分区,为了将这些分区重新设置到配置单元元存储,我运行了msck repair命令,该命令引发以下错误:
失败:执行错误,从org.apache.hadoop.hive.ql.exec.ddltask返回代码1
请让我知道为什么会产生这个错误

km0tfn4u

km0tfn4u1#

解决方案是运行altertable并将location设置为gcs中的一个子目录,如下所示。 ALTER TABLE TABLENAME SET LOCATION gs://crazybucketstring/schemname/tableaname/ 如果你有兴趣了解它为什么会给出错误 msck repair 阅读此答案drop hive table&msck修复失败,表存储在google云存储桶中
此问题与表的位置有关。尽管其他答案中给出的msck修复忽略了路径验证,但它无法解决根本问题。

hjqgdpho

hjqgdpho2#

试试这个-

set hive.msck.path.validation=ignore; MSCK REPAIR TABLE table_name;

如果不起作用,请检查ddl和分区字段。请记住,分区值只支持int和string

相关问题