Hive 外部 Table - 删除 Table / 分区并删除数据

Hive External Table - Drop Table / Partition and Delete Data

当删除配置单元外部 table 或分区时,它只会从配置单元元存储中删除元数据。 HDFS/Azure 存储帐户中的底层数据不会被删除。在删除 table/ 分区时删除数据的选项是什么?

我一直在做一些研究,这些是我的发现

选项 1: 如果使用 HDInsight,请删除 table/ 分区并删除 HDFS/Azure Blob 存储中的相应文件。

选项 2: 更新配置单元 Metastore 以使 table 属性 成为托管的。删除分区并改回 table 属性 外部,如下所示。

ALTER TABLE poc_drop_partition SET TBLPROPERTIES('EXTERNAL'='FALSE') ;
ALTER TABLE poc_drop_partition DROP IF EXISTS PARTITION(partition_date <= '2017-10-11');
ALTER TABLE poc_drop_partition SET TBLPROPERTIES('EXTERNAL'='TRUE') ;

同样,DROP table 语句将删除 table 和基础数据文件。

有没有更好的方法来做到这一点。我知道 JIRA 中有 TRUNCATE 功能需要处理。