1

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

4

1 回答 1

1

如果您没有更改默认的 Time Travel 保留时间,则默认为一天。如果是这样,您将看到数据在 8 天后开始清除(1 天时间旅行 + 7 天故障保护)。如果您没有更改它,您可能只想让它老化直到自动清除。如果您更改了持续时间,您可以尝试更改保留时间。它应该工作。

如果您的新表具有旧的已删除表名,则需要临时重命名新表。有关详细信息,请参阅此知识库文章:关于丢弃表的时间旅行知识库文章

临时重命名新表后,取消删除旧表。然后,您可以将它们的保留时间设置为 0(您想要 100%),然后删除该表。

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

当然,当您重新删除旧表时,您可以将新的临时表重命名为它们的正确名称。虽然这应该可行,但您不会看到时间旅行数据立即消失。后台服务会在某个时候删除它们。

于 2020-04-02T12:06:39.880 回答