【问题标题】:querying a multilevel array using SnowFlake使用 SnowFlake 查询多级数组
【发布时间】:2021-06-19 11:05:09
【问题描述】:

我正在使用 SNOW_FLAKE 并尝试查询以列名 multi_array 下元素的多级数组形式存储的数据,例如:

多数组

[
  {
    "attribute_1": "hello",
    "attribute_2": "hello1",
    "group_attrbutes": [
      {
        "grp_attr1": "tst_val",
        "grp_attr2": "test_val2"
      }
    ]
  }
]

展平的输出将是:

attribute_1 attribute_2 grp_attr1 grp_attr2
hello     hello1        tst_val  tast_val2

谁能告诉我如何展平 group_attrbutes 数组,以便它以表格形式出现

【问题讨论】:

    标签: snowflake-cloud-data-platform snowflake-schema


    【解决方案1】:
    SELECT d.json
        ,f.value:attribute_1 as attribute_1
        ,f.value:attribute_2 as attribute_2
        ,g.value:grp_attr1 as grp_attr1
        ,g.value:grp_attr2 as grp_attr2
    FROM (
        SELECT parse_json('[
        {
          "attribute_1": "hello",
          "attribute_2": "hello1",
          "group_attrbutes": [
            {
              "grp_attr1": "tst_val",
              "grp_attr2": "test_val2"
            }
          ]
        }
        ]') as json
    ) AS d,
    table(flatten(input => d.json)) f,
    table(flatten(input => f.value:group_attrbutes)) g
      ;
    

    给出(去掉了 JSON):

    ATTRIBUTE_1 ATTRIBUTE_2  GRP_ATTR1  GRP_ATTR2
    "hello"     "hello1"     "tst_val"  "test_val2"
    

    【讨论】:

      猜你喜欢
      • 2020-12-21
      • 2020-11-13
      • 1970-01-01
      • 2021-01-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-03
      相关资源
      最近更新 更多