我正在尝试从配置单元中的外部和分区表中删除数据。我可以删除分区:
ALTER TABLE myTable DROP PARTITION(字段>'xxxx') 要么 TRUNCATE TABLE myTable PARTITION(字段)
但Blob存储中的相关文件不会被删除。如何删除这些文件?
另一方面,我想使用任何字段作为过滤器(不仅是分区字段)删除数据。可以在我的情况下(在外部和分区表中)完成吗?我试图用这个来实现:
INSERT OVERWRITE TABLE myTable PARTITION(field) SELECT * FROM myTable WHERE machine ='xxxxx'
但SELECT中的数据不会替换myTable中的数据。
答案 0 :(得分:0)
如果删除表或分区,外部表中的数据将保留。只有在管理表时,才会在删除表或分区时自动删除数据。
INSERT OVERWRITE TABLE myTable PARTITION(field) SELECT...
语句可以使用新加载的数据替换返回数据集中存在的分区的数据。如果返回的数据集为空,则数据将保持不变。
要删除外部表中的数据,您需要删除文件系统上的文件。