小编sni*_*ack的帖子

如何在没有 DML 的情况下提前雪花流的偏移量?

雪花流真的很酷,但我似乎不知道如何将它们应用到我的用例中。我有一个外部进程,我想用它来检测表中行的更改,并通知其他消费者发生了这种情况。有多种方法可以做到这一点,但流的好处是它们可以跟踪上次被询问的时间,这将提供一种干净的方法来跟踪偏移量并防止重复或间隙。例如,使用显式时间旅行的替代方案需要在外部跟踪上次运行查询的时间,包括考虑 Snowflake 和进程之间的时钟偏差。

但是,如果将其中的数据推送到另一个表,则偏移量似乎只会向上移动。意思是,这会改变偏移量:

insert into other_table select * from my_stream
Run Code Online (Sandbox Code Playgroud)

但这并没有:

select * from my_stream
Run Code Online (Sandbox Code Playgroud)

就我而言,我不需要另一个表中的数据。我可以插入临时表或其他东西来产生推进偏移量的副作用,但这看起来既浪费又混乱。我还缺少其他选择吗?有什么方法可以“冲击”流吗?

snowflake-cloud-data-platform

4
推荐指数
1
解决办法
2339
查看次数