我正在尝试从配置单元中的外部和分区表中删除数据。我可以删除分区:
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中的数据。
1条答案
按热度按时间f1tvaqid1#
如果删除表或分区,则外部表中的数据将保留。只有当表被管理时,当表或分区被删除时,数据才会被自动删除。
语句可以用返回的数据集中现有分区的新加载数据替换数据。如果返回的数据集为空,则数据将保持不变。
要删除外部表中的数据,需要删除文件系统中的文件。