如何在 aws athena 中创建一个结构数组 - 在镶木地板数据上配置蜂巢

How to create an array of struct in aws athena - hive on parquet data

我尝试在 aws-athena 上创建一个 table,并在 parquet 数据上使用 hive,如下:

CREATE TABLE IF NOT EXISTS db.test (
  country STRING ,
  day_part STRING ,
  dma STRING ,
  first_seen STRING, 
  geohash STRING ,
  last_seen STRING, 
  location_backfill ARRAY <
   element STRUCT <
    backfill_type: BIGINT, 
    brq: BIGINT ,
    first_seen: STRING, 
    last_seen: STRING ,
    num_days: BIGINT >>
  ) 
ROW FORMAT SERDE 
  'org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe' 
STORED AS INPUTFORMAT 
  'org.apache.hadoop.hive.ql.io.parquet.MapredParquetInputFormat' 
OUTPUTFORMAT 
  'org.apache.hadoop.hive.ql.io.parquet.MapredParquetOutputFormat'
LOCATION
  's3://<location>'
TBLPROPERTIES (
  'parquet.compress'='SNAPPY', 
  'transient_lastDdlTime'='<sometime>')

我反复收到错误

行 9:12:输入不匹配 'struct' 期望 {'(', 'array', '>'}(服务:amazonathena;状态代码:400;错误代码:invalidrequestexception;请求 ID:)

语法似乎很好但不确定。数据存放在s3路径 知道是什么导致了这个问题吗?

数组元素未命名,仅指定类型(结构):

location_backfill ARRAY <
    STRUCT <
    backfill_type: BIGINT, 
    brq: BIGINT ,
    first_seen: STRING, 
    last_seen: STRING ,
    num_days: BIGINT >>