【发布时间】:2020-10-01 03:31:57
【问题描述】:
我正在寻找一段代码,它会导致流清空,本质上是重置它。这是用例。我们使用流将类型 2 维度表的更改跟踪到数据集市中。有时需要我们截断并重新加载该维度表以修复缺陷或其他数据问题。发生这种情况时,流需要重置以仅在重新加载发生后开始捕获更改。 Snowflake 没有 ALTER STREAM PURGE 之类的功能来为我们管理这个,所以我们需要自己做。我不想在每次需要执行此操作时都发出 CREATE OR REPLACE STREAM 语句。
【问题讨论】:
-
您为什么不想执行 CREATE OR REPLACE STREAM 语句?您可以创建一个存储过程,为流运行 GET_DDL() 语句,然后使用该 DDL 运行 CREATE OR REPLACE STREAM 语句。
-
虽然这可行,但我们不这样做的原因是我们使用非常严格的角色和用户组来管理生产中的 DDL 部署。我不希望开发人员通过可能会中断我们的部署管道的代码来创建生产对象。但是您绝对正确,创建或替换具有与我正在寻找的相同的影响。谢谢。
标签: stream snowflake-cloud-data-platform cdc type-2-dimension