删除分区

jchrr9hc  于 2021-06-24  发布在  Hive
关注(0)|答案(2)|浏览(365)

我无法删除配置单元表中的分区。

ALTER TABLE db.table drop if exists partition(dt="****-**-**/id=**********");
OK
Time taken: 0.564 seconds

但是分区没有被删除
下面是我检查表分区时得到的结果:

hive> show partitions db.table;
OK
dt=****-**-**/id=**********
dt=****-**-**/id=**********
dt=****-**-**/id=**********
dt=****-**-**/id=**********

在运行alter table db.table drop if exists命令之后,它实际上应该删除分区。但事实并非如此。
你能给我提个建议吗。提前谢谢。

zaqlnxep

zaqlnxep1#

正如@leftjoin还提到的,必须用逗号分隔指定分区。

ALTER TABLE page_view DROP if exists PARTITION (dt='****-**-**', id='**********');

请注意-
在Hive0.7.0或更高版本中,如果分区不存在,drop将返回错误,除非指定了if exists或配置变量hive.exec.drop.ignorenonexistent设置为true。
由于这个原因,您的查询没有失败并返回ok响应。

sgtfey8w

sgtfey8w2#

试试这个:

ALTER TABLE db.table drop if exists partition(dt='****-**-**', id='**********');

相关问题