删除配置单元中外部和分区表中的数据

qzwqbdag  于 2021-06-26  发布在  Hive
关注(0)|答案(1)|浏览(367)

我正在尝试从配置单元中的外部和分区表中删除数据。我可以删除分区:
alter table mytable drop partition(字段>'x')或truncate table mytable partition(字段)
但是blob存储中的相关文件不会被删除。如何删除这些文件?
另一方面,我希望使用任何字段作为过滤器(而不仅仅是分区字段)来删除数据。在我的情况下(在外部分区表中)可以这样做吗?我试着用以下方法来实现这个目标:
insert overwrite table mytable partition(field)select*from mytable where machine='xx'
但是select中的数据不能替换mytable中的数据。

f1tvaqid

f1tvaqid1#

如果删除表或分区,则外部表中的数据将保留。只有当表被管理时,当表或分区被删除时,数据才会被自动删除。

INSERT OVERWRITE TABLE myTable PARTITION(field) SELECT...

语句可以用返回的数据集中现有分区的新加载数据替换数据。如果返回的数据集为空,则数据将保持不变。
要删除外部表中的数据,需要删除文件系统中的文件。

相关问题