1

SHOW_INITIAL_ROWS在表上创建新 Stream 时,我一直在使用Snowflake 中的参数,并且它始终运行良好。

出于某种原因,在其中一个表中创建的流在对其运行某些 select 语句时会引发错误。

Time travel data is not available for table [...]. The requested time is either beyond the allowed time travel period or before the object creation time

所有表都启用了时间旅行,我用来创建流的语句类似于:

create or replace stream <database>.<schema>.<stream>
on table <database>.<schema>.<table> SHOW_INITIAL_ROWS = TRUE;

有谁知道 SHOW_INITIAL_ROWS 是否与时间旅行有关?如果是,什么可能导致此错误?

4

1 回答 1

0

这应该与最近时间旅行上的行为变化有关:

https://community.snowflake.com/s/article/Time-Travel-Queries-Beyond-Data-Retention-Period-Will-Fail-Pending

以前的:

如果表的历史版本和当前版本相同,则超出表的时间旅行数据保留期的查询可能已成功完成。

目前:

如果查询超出表的时间旅行数据保留期,则查询将失败。此更改可确保 Time Travel 的语义保持一致并生成可预测的查询结果,而不管上次修改表的时间。

于 2021-09-14T13:34:23.753 回答