hadoop - 如何在AWS Athena中创建结构数组-关于 Parquet 数据的配置单元

标签 hadoop hive amazon-athena

我试着在aws-athena上创建一个表,其中包含有关以下内容的 Parquet 数据的配置单元:

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 >>

关于hadoop - 如何在AWS Athena中创建结构数组-关于 Parquet 数据的配置单元,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62508672/

相关文章:

sql - 查询完成后从 HIVE 发送电子邮件?

SQL/HIVE - 不同计数查询 - SELECT COUNT (DISTINCT columns,..) 与 SELECT COUNT(*) 与 DISTINCT 记录的子查询有何不同

sql - AWS 雅典娜 : Unsupported correlated subquery type but it works on Mysql and other flavors

mysql - 如何使用 aws athena 使用 nodejs?

sql - HIVE查询如何有效地查找以avro格式存储的数据?

hadoop - hadoop map reduce 中的错误处理

hadoop - 如何通过 whirr 在 EC2 集群上安装 JDK 7?

hadoop - MapReduce不会减少?

python - 如何在 pyspark 中使用 "where not exists"SQL 条件?