我正在尝试在雪花DWH中记录表刷新详细信息详细信息包括以下批处理日期,源表名称,目标表名称,装入的行,时间戳,状态,错误消息。
是否有任何标准的SQL \ Snowflake存储过程,可以用作整个DWH跟踪\审计表刷新详细信息并将其记录到单个表中的通用方法。
我具有捕获Batchdate,目标表名称,源表名称等的变量。如果我得到了可以记录活动开始和活动结束的标准存储过程,那真的很有帮助。
关于,斯里尼瓦斯
如果您正在寻找一些前进的想法,以下几点可以为您提供帮助:
Snowflake中没有可以利用的标准存储过程来查询此信息,但是snowlight.account_usage共享中有很多可用数据。
不确定您要在这里实现什么目标,但是
您可以利用雪花流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/