首页 > 解决方案 > 在雪花中处理半结构化数据

问题描述

如何处理标题为“组合”的列中的数据,格式为:{“RAG”:1233,“BRN”:3455,“EDN”:467}。我想将其转换为具有 2 个不同列的新表: new_table

标签: snowflake-cloud-data-platform

解决方案


您可以使用 Snowflake 表函数“Flattens”来实现此目标。

FLATTEN 是一个表函数,它采用 VARIANT、OBJECT 或 ARRAY 列并生成横向视图(即,包含引用 FROM 子句中位于其前面的其他表的相关性的内联视图)。

例如

SELECT 
KEY,VALUE
FROM TABLE(FLATTEN(INPUT => PARSE_JSON('{
    "RAG":1233,
    "BRN":3455,
    "EDN": 467
}')));

推荐阅读