出于安全的考虑,OSS外表在执行DROP TABLE的时候不会同步删除OSS上的文件。这导致了OSS上可能存在残留的文件。此时如果您有一张和删除表同名的表,希望归档到OSS上,则会因为存在同名文件而报错,即:
Target file for archived table exists on oss.
此时您可以强制归档,即覆盖OSS上的同名文件,语法如下:
对于普通表,为:ALTER TABLE table_name ENGINE = CSV/ORC STORAGE OSS , FORCE;
对于分区表的部分分区,为:ALTER TABLE table_name CHANGE PARTITION part_name ENGINE = CSV/ORC FORCE;
注意,普通表在FORCE前面有一个逗号,而分区表没有。更多信息请参考:
手动归档冷数据。