我知道红移和红移频谱不支持嵌套类型,但我想知道有什么技巧可以绕过该限制并使用 Redshift Spectrum 在 S3 中查询嵌套数据?在这篇文章中,这个人展示了我们如何为 JSON 文件做到这一点,但 Parquet 就不一样了。我们还有其他可以应用于 Parquet 文件的技巧吗?
实际的 Schema 是这样的:(由 AWS-Glue 爬虫提取)
CREATE EXTERNAL TABLE `parquet_nested`(
`event_time` string,
`event_id` string,
`user` struct<ip_address:string,id:string,country:string>,
`device` struct<platform:string,device_id:string,user_agent:string>
)
PARTITIONED BY (
`partition_0` string,
`partition_1` string,
`partition_2` string,
`partition_3` string,
`partition_4` string)
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://...'