更改雪花中已删除表的数据保留

时间:2020-04-02 09:26:51

标签: snowflake-cloud-data-platform time-travel

我们正在利用Snowflake作为仓库平台。在将数据加载到Snowflake时,我们有一些拖放创建逻辑来填充雪花中的数据。我们没有使用临时表或临时表,而是意外地使用了永久表,这导致了巨大的存储容量作为时间旅行存储的一部分(接近 140 tb )。
由于我们已经删除了永久表,因此这些表未列出雪花模式。想要检查是否有任何方法可以更改已删除表的保留期限,以便我们可以释放这些已删除表使用的时间旅行存储。
提前谢谢,
Prasanth

1 个答案:

答案 0 :(得分:2)

如果您未更改默认的“时间旅行”保留时间,则默认为一天。如果是这样,您将看到数据在八天内开始清除(1天时间旅行+ 7天故障保护)。如果您不进行更改,则可能希望使其老化直到自动清除。如果您更改了持续时间,则可以尝试更改保留时间。应该可以。

如果您的新表具有旧的删除的表名,则需要临时重命名新表。有关详细信息,请参阅此知识库文章:KB Article for Time Travel on dropped tables

临时重命名新表后,请删除旧表。然后,您可以将其保留时间设置为0(是100%),然后删除表格。

undrop MY_TABLE;
alter table MY_TABLE set DATA_RETENTION_TIME_IN_DAYS = 0; 
drop MY_TABLE;

当然,当您重新放置旧表时,可以将新的临时表重命名为其适当的名称。尽管这应该可行,但是您不会看到Time Travel数据立即消失。后台服务会在某些时候将其删除。