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

问题描述 投票:0回答:3

我正在尝试在雪花DWH中记录表刷新详细信息详细信息包括以下批处理日期,源表名称,目标表名称,装入的行,时间戳,状态,错误消息。

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

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

关于,斯里尼瓦斯

stored-procedures data-warehouse snowflake-cloud-data-platform audit-logging
3个回答
2
投票

如果您正在寻找一些前进的想法,以下几点可以为您提供帮助:

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

Snowflake中没有可以利用的标准存储过程来查询此信息,但是snowlight.account_usage共享中有很多可用数据。


0
投票

不确定您要在这里实现什么目标,但是


0
投票

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

创建流时,将其指向目标表。因此,您的流记录了两个时间点之间在目标表(INSERTS,UPDATES和DELETES)上产生的更改。

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

关于流的优点在于,通过使用任何流中的数据成功完成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/

© www.soinside.com 2019 - 2024. All rights reserved.