做 drop table 命令输入 hive 同时删除分区?我只想知道否则我们就得用 alter table table_name drop partition() 这个命令?
drop table
hive
alter table table_name drop partition()
crcmnpdw1#
DROP TABLE 语句总是删除两个分区的元数据 MANAGED 以及 EXTERNAL 表,因为没有表分区就不能存在。但对于 EXTERNAL 表它不会在文件系统中删除数据。如果表是 MANAGED ,那么 DROP TABLE 将删除表和分区元数据以及表位置中的数据,所有表位置包括分区子文件夹。如果table是 EXTERNAL ,它将只删除元数据和分区定义中的表定义,包含数据的表位置(包括所有分区文件夹)将保持原样,您可以再次在同一位置上创建表并恢复分区。同样适用于 DROP PARTITION :如果表是 MANAGED ,它将删除分区元数据以及分区子文件夹。如果table是 EXTERNAL ,将保留包含数据的分区子文件夹,只删除分区元数据。所以,为了 MANAGED 表,删除表或分区后不需要删除数据。有关更多详细信息,请参阅drop table和drop partition手册。
DROP TABLE
MANAGED
EXTERNAL
DROP PARTITION
1条答案
按热度按时间crcmnpdw1#
DROP TABLE
语句总是删除两个分区的元数据MANAGED
以及EXTERNAL
表,因为没有表分区就不能存在。但对于EXTERNAL
表它不会在文件系统中删除数据。如果表是
MANAGED
,那么DROP TABLE
将删除表和分区元数据以及表位置中的数据,所有表位置包括分区子文件夹。如果table是
EXTERNAL
,它将只删除元数据和分区定义中的表定义,包含数据的表位置(包括所有分区文件夹)将保持原样,您可以再次在同一位置上创建表并恢复分区。同样适用于
DROP PARTITION
:如果表是MANAGED
,它将删除分区元数据以及分区子文件夹。如果table是EXTERNAL
,将保留包含数据的分区子文件夹,只删除分区元数据。所以,为了
MANAGED
表,删除表或分区后不需要删除数据。有关更多详细信息,请参阅drop table和drop partition手册。