Snowflake cloud data platform 无法使用横向展平等查询半结构化数据

Snowflake cloud data platform 无法使用横向展平等查询半结构化数据,snowflake-cloud-data-platform,flatten,variant,Snowflake Cloud Data Platform,Flatten,Variant,我在一个表中有一些数据,其中一列是一个变量,它包含一个JSON数据的ree。我可以成功地展平数组和数组中的数组以访问其中的数据,但我正在努力展平键值对以访问给定键的值 我已经看到文档将此映射到我的用例结果中的结果为空值 我的变量显示在下面的部分中,特别是它的值,如MatchStatus和我感兴趣提取的变量下的键/值 谢谢你的建议 所描述的JSON具有简单的类似路径的结构,具有不同级别的对象,并且没有数组 根据,使用点表示法在平坦嵌套路径后提取值: Insert a colon : between

我在一个表中有一些数据,其中一列是一个变量,它包含一个JSON数据的ree。我可以成功地展平数组和数组中的数组以访问其中的数据,但我正在努力展平键值对以访问给定键的值

我已经看到文档将此映射到我的用例结果中的结果为空值

我的变量显示在下面的部分中,特别是它的值,如MatchStatus和我感兴趣提取的变量下的键/值

谢谢你的建议


所描述的JSON具有简单的类似路径的结构,具有不同级别的对象,并且没有数组

根据,使用点表示法在平坦嵌套路径后提取值:

Insert a colon : between the VARIANT column name
and any first-level element: <column>:<level1_element>.

Use dot notation to traverse a path in a JSON object:
<column>:<level1_element>.<level2_element>.<level3_element>.
您不需要进行简单的奇异值提取。当需要将某些系列数据分解为多行时(例如在数组的情况下),请使用“展平”


例如,如果问题中描述的JSON是单个数组元素在此类对象的长数组中的外观,则可以使用flatte首先将整个数组拆分为行,然后应用路径样式提取从每一行检索值。

请与我们共享原始json。您可能只需使用variant_col:PricingRequest.matchStatusThank查询即可。Zephro提供了快速而简单的答案。我仔细考虑了这个问题。谢谢你的详细回复,非常有帮助。尽管可见JSON只是对象,但其中一些对象包含的数组可能包含其他数组或对象,因此您可以看到它是如何快速变得复杂,以及展开的帮助。您可能还会发现这一点很有用: