如何解决Hive外部表-删除分区
面对一个奇怪的问题。 Alter table
删除分区的命令对于>或 =或
工作命令:
ALTER TABLE XYZ DROP PARTITION(bizdate>'20231230');
不起作用的命令并抛出错误,指出该分区不存在:
ALTER TABLE XYZ DROP PARTITION(bizdate='20231230');
当我做show partitions
时,可以看到'20231230'分区。
注意:bizdate
是varchar(10)
解决方法
检查表中的分区列表:
SELECT nmb,nmb2,ROW_NUMBER() OVER (ORDER BY nmb2 asc) AS idx
FROM t
WHERE nmb2 IS NOT NULL
UNION
SELECT nmb,NULL
FROM t
WHERE nmb2 IS null
也许它尝试删除分区。似乎已在HDFS上的某个位置删除了数据,但配置单元表元数据仍然认为这些分区存在
SHOW PARTITIONS <table>;
&重新配对损坏的table
ALTER TABLE *tableName* drop if exists PARTITION(bizdate="20231230");
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。