1

drop table命令 inhive也会删除分区吗?

我只是想知道,还是我们必须为此使用alter table table_name drop partition()命令?

4

1 回答 1

0

DROP TABLE语句总是删除MANAGEDEXTERNAL表的分区元数据,因为没有表就不能存在分区。但是对于EXTERNAL表,它不会删除文件系统中的数据。

如果 table 是MANAGEDDROP TABLE则将删除 table 和分区元数据以及 table 位置中的数据,所有 table 位置包括分区子文件夹。

如果该表是EXTERNAL,它将仅删除元数据和分区定义中的表定义,包含数据的表位置,包括所有分区文件夹将保持原样,您可以再次在同一位置创建表并恢复分区

这同样适用于DROP PARTITION:如果 table 是MANAGED,它将删除分区元数据以及分区子文件夹。如果 table 是EXTERNAL,则保留有数据的分区子文件夹,只删除分区元数据。

因此,对于MANAGED表,您不需要在删除表或分区后删除数据。

有关更多详细信息,另请参阅DROP TABLEDROP PARTITION手册。

于 2018-10-08T06:58:23.287 回答