drop table 命令与配置单元中的分区列

drop table command with partitions column in hive

drop table hive 中的命令是否也删除分区?

我只想知道这个,或者我们必须为此使用 alter table table_name drop partition() 命令?

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

如果 table 是 MANAGED,则 DROP TABLE 将删除 table 并在 table 位置分区元数据和数据,所有 table 位置包括分区子文件夹。

如果 table 是 EXTERNAL,它只会删除元数据和分区定义中的 table 定义,table 包含数据的位置,包括所有分区文件夹将保留按原样,您可以在同一位置和 recover partitions.

之上再次创建 table

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

因此,对于MANAGED table秒,删除table或分区后不需要删除数据。

有关详细信息,另请参阅 DROP TABLE and DROP PARTITION 手册。