【问题标题】:AWS Athena Extract Array in JsonJson 中的 AWS Athena 提取数组
【发布时间】:2021-10-18 05:22:19
【问题描述】:

我有一个 json 列,这个 json 列里面是一个数组结构。我不知道如何在那里获取数组。

我试过了

 cast(json_extract(ise, '$.userservice') as varchar)  as ise_user_service

示例 Json

ise
        {
       "userpa":"****",
       "userlo":"*****",
       "sessi":"******",
       "cl":{
          "name":"****",
          "id":"*****"
       },
       "usermains":"******",
       "userservice":[
          "1****",
          "23***4**",
          "124****",
          "034****"
       ],
       "usergeoloc":"********",
       "userparty":"*******"
    }

【问题讨论】:

    标签: sql json amazon-web-services amazon-athena presto


    【解决方案1】:

    您可以使用json_format 将其转换为字符串或转换为ARRAY(VARCHAR),具体取决于用例:

    WITH dataset AS (
        SELECT * FROM (VALUES   
           ( JSON ' {
           "userpa":"****",
           "userlo":"*****",
           "sessi":"******",
           "cl":{
              "name":"****",
              "id":"*****"
           },
           "usermains":"******",
           "userservice":[
              "1****",
              "23***4**",
              "124****",
              "034****"
           ],
           "usergeoloc":"********",
           "userparty":"*******"
        }')
     ) AS t (ise))
    
     
    SELECT json_format(json_extract(ise, '$.userservice')) as ise_string, 
        cast(json_extract(ise, '$.userservice') as ARRAY(VARCHAR)) as ise_array
    FROM dataset
    

    【讨论】:

      猜你喜欢
      • 2020-09-10
      • 2020-01-21
      • 1970-01-01
      • 1970-01-01
      • 2021-06-22
      • 2019-05-05
      • 2018-08-24
      • 1970-01-01
      • 2019-07-24
      相关资源
      最近更新 更多