首页 > 解决方案 > 如何从 SnowFlake 中的 JSON 字符串中解析特定数据?

问题描述

我对 SnowFlake 很陌生,我正在尝试处理数据集。我感兴趣的专栏以 JSON 格式将多个反馈合并为一个,我只想挖掘相关键。这是让我们说 Column_X 的快照: 在此处输入图像描述

寻找一种方法来解析这些数据,使我有一个新列,如“riskIndicator”和“riskIndicator”,其值为 27、74 作为两个新行。我正在尝试像下面的代码一样进行解析,但这不起作用。看过 javascript/UDF 方法,但对于这篇文章来说看起来很复杂。

,get_path(parse_json("riskIndicatorLNInstantID"),'riskCode') as riskIndicator

我会感谢这里的任何帮助/建议。谢谢你。

标签: snowflake-cloud-data-platform

解决方案


因此,如果您遇到的问题是分解 json,您将需要使用FLATTEN

with data as (
    select parse_json('[{"description":"unable to paste json", "riskCode":"27","seq":1},{"description":"typing in json is painful", "riskCode":"74","seq":2}]') as json
)
select d.json
    ,f.value:riskCode as riskIndicator
from data d
 ,lateral flatten(input=>d.json) f;

给出:

JSON                                       RISKINDICATOR
[{ "description": "unable to paste j...    "27"
[{ "description": "unable to paste j...    "74"

推荐阅读