【问题标题】:Identifying unique keys in presto识别presto中的唯一键
【发布时间】:2022-11-18 04:47:53
【问题描述】:

我想使用 presto 识别 json 模式中的唯一键,如下所示。虽然 SO 中有多个示例 - 我无法为以下示例使用任何解决方案

WITH dataset AS (
  SELECT '{"name": "Susan Smith",
           "org": "engineering",
           "projects": [{"name":"project1", "completed":false},
           {"name":"project2", "completed":true}]}'
    AS users
)

Expected output with keys
Column
name
org
projects

引用 SO 链接引用 所以链接 1:Extract all JSON keys

所以链接 2:Presto identify unique values

【问题讨论】:

    标签: sql database amazon-athena presto trino


    【解决方案1】:

    这些解决方案应该适合您,您只需要使用 json_parse 将您的 varchar 列转换为 json:

    WITH dataset AS (
      SELECT '{"name": "Susan Smith",
               "org": "engineering",
               "projects": [{"name":"project1", "completed":false},
               {"name":"project2", "completed":true}]}'
        AS users
    )
    
    -- query
    select key
    from dataset,
    unnest(map_keys(cast(json_parse(users) as map(varchar, json)))) as t(key);
    

    【讨论】:

      猜你喜欢
      • 2019-05-24
      • 2020-03-08
      • 2011-11-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-04-05
      相关资源
      最近更新 更多