是否有任何标准存储过程来捕获雪花中的表刷新详细信息



>我正在尝试在雪花 DWH 中记录表刷新详细信息 详细信息如下 批处理日期、源表名称、目标表名称、加载的行、时间戳、状态、错误。消息。

是否有任何标准的SQL\Snowflake存储过程可以作为整个DWH跟踪\审核表刷新详细信息并将其记录到单个表中的通用存储过程。

我有捕获批处理日期、目标表名称、源表名称等的变量...... 如果我得到可以记录活动开始和活动结束的标准存储过程,那真的很有帮助。

问候 斯里尼瓦斯

如果您正在寻找一些前进的想法,这里有几件事可以帮助您:

  1. 查询历史记录很有用,但很难筛选。 如果在批处理中使用query_tag,则可以参考query_history以获取信息。
  2. 此外,如果要在信息
  3. 运行时捕获信息,则可以在表上使用流和任务,以在后台捕获每个批处理的更新/插入/删除计数。

在 Snowflake 中没有可以利用的标准存储过程来查询此信息,但snowflake.account_usage共享中有大量可用数据。

不确定你到底想在这里实现什么,但是

  • 您可以使用表上的last_altered来查看上次修改数据的时间
  • 您可以筛选query_history视图以查看哪些查询修改了表: https://docs.snowflake.com/en/sql-reference/functions/query_history.html

您可以利用雪花溪流 https://docs.snowflake.com/en/sql-reference/sql/create-stream.html

创建流时,将其指向目标表。因此,您的流会记录在两个时间点之间在目标表(插入、更新和删除(上生成的更改。

您可以将流用作任何表来选择它,以查找更改。

流的优点在于,在使用任何流中的数据成功完成 DML 操作后,流将被清除,因此当您查询它时,它将为空。

使用它们没有罪责,因为流不会复制您的数据,它们只是存储偏移量和 CDC,因此数据保留在您的表中。

一些有用的指南:它会生成您需要的相关内容 - 第1部分:https://www.snowflake.com/blog/building-a-type-2-slowly-changing-dimension-in-snowflake-using-streams-and-tasks-part-1/- 第2部分:https://www.snowflake.com/blog/building-a-type-2-slowly-changing-dimension-in-snowflake-using-streams-and-tasks-part-2/

相关内容

最新更新