是否有人创建了一个程序来手动清除雪花中的流?

时间:2020-06-11 13:10:42

标签: stream snowflake-cloud-data-platform cdc type-2-dimension

我正在寻找一段代码,它将导致流为空,从而将其重置。这是用例。我们使用流来跟踪类型2维度表到数据集市中的更改。在某些情况下,要求我们截断并重新加载该维表以修复缺陷或其他数据问题。发生这种情况时,流需要重置以仅在重新加载发生后才开始捕获更改。 Snowflake没有像ALTER STREAM PURGE这样的功能可以为我们管理此功能,因此我们需要自己做。我不想每次需要这样做时都发出CREATE或REPLACE STREAM语句。

2 个答案:

答案 0 :(得分:3)

你能做这样的事吗?

insert into THE_TARGET_TABLE select * from THE_STREAM where 1=0

这将消耗流而不会更改目标表上的任何内容。

答案 1 :(得分:2)

与Greg类似,如果将其插入到现有表中会使您感到紧张,则可以运行类似的内容。

CREATE OR REPLACE TEMP TABLE RESET_TBL AS
SELECT * FROM THE_STREAM;