如何在Snowflake中转换JSON数据为含specific_trap的表格
修正后的Snowflake动态表SELECT语句
假设your_source_table是存储Kafka注入原始数据的表,以下是适配需求的查询语句:
CREATE OR REPLACE DYNAMIC TABLE your_dynamic_table TARGET_LAG = '1 MINUTE' WAREHOUSE = your_warehouse_name AS SELECT -- 从variables数组元素中提取column_a、column_b,可根据实际数据类型调整::后的类型(如INT、DATE等) f.value:column_a::STRING AS column_a, f.value:column_b::STRING AS column_b, -- 提取顶层的specificTrap字段,转为整型(可按需调整类型) RECORD_CONTENT:specificTrap::INTEGER AS specific_trap FROM your_source_table, -- 展开variables数组,将每个数组元素拆分为独立行 LATERAL FLATTEN(input => RECORD_CONTENT:variables) f;
关键说明
specificTrap是JSON顶层字段,不属于variables数组,因此无需对其分组——FLATTEN展开数组后,每一行数组元素都会关联对应原始记录的specific_trap值,天然满足一对多的映射关系。- 若之前的查询错误添加了
GROUP BY specific_trap,直接移除该分组逻辑即可,分组会破坏数组元素与顶层字段的关联关系。
内容的提问来源于stack exchange,提问作者P5_
相关产品推荐
相关产品推荐

