将原始变体 table 的最新数据拉取转换为正常 table:Snowflake

Convert the latest data pull of a raw Variant table into a normal table: Snowflake

我有一个变体 table,其中原始 json 数据存储在名为 "raw" 的列中,如此处所示。

此 table 的每一行都是从 API 中提取的完整数据,并通过 snowpipe 摄取。在 json 中有一个 'pxQueryTimestamp' 键值对。该字段的最新值应包含最新数据。我将如何只规范化这一行?

通常我的解决方法是仅通过管道传输来自 "s3" 的最新数据,这样 table 只有一行,然后我将其标准化。

我希望获得所有数据的历史 table,如下所示,但在规范化时我们只关心最相关的最新数据。

感谢任何帮助!

如果您是说要展平并保留最新变体记录中的所有内容,那么我建议利用 Snowflake 中的 STREAM 对象,这样它只会有最新的变体记录。然后,您可以截断从 STREAM 对象到扁平化 table 的扁平 table 和 运行 插入,这将向前移动偏移量,然后您的 STREAM 将为空。

查看此处的文档:

https://docs.snowflake.net/manuals/user-guide/streams.html