如何创建表 AWS Athena --> 映射 Json 数组?

Art*_*his 2 amazon-web-services amazon-athena

如何为 Json Array 格式创建表 Athena(AWS)?

JSON 格式示例:

{  
   "Tapes":[  
      {  
         "Status":"AVAILABLE",
         "Used":0.0,
         "Barcode":"TEST1217F7",
         "Gateway":"Test_Report",
         "UsedGB":0.0,
         "Date":"06-11-2017",
         "SizeGB":107.0
      },
      {  
         "Status":"AVAILABLE",
         "Used":0.0,
         "Barcode":"TEST1227F7",
         "Gateway":"Test_Report",
         "UsedGB":0.0,
         "Date":"06-11-2017",
         "SizeGB":107.0
      }
   ]
}
Run Code Online (Sandbox Code Playgroud)

我想获得下面的输出格式:
在此处输入图像描述

我已尝试根据此网站解决问题,请在 此处输入链接描述

jen*_*ter 6

根据示例 JSON,您可以创建下表。

create external table test(
  Tapes array<struct<
        Status:string,
        Used:string,
        Barcode:string,
        Gateway:string,
        UsedGB:string,
        Date:string,
        SizeGB:string>>
) ROW FORMAT  serde 'org.openx.data.jsonserde.JsonSerDe'
LOCATION 's3://bucket/test'
Run Code Online (Sandbox Code Playgroud)

使用该表,您可以通过以下方式查询所有数组元素。

select t1.* from test
cross join UNNEST(test.Tapes) as t1
Run Code Online (Sandbox Code Playgroud)