Amazon web services 无法从拼花地板读取零件文件

Amazon web services 无法从拼花地板读取零件文件,amazon-web-services,aws-glue,amazon-athena,Amazon Web Services,Aws Glue,Amazon Athena,配置单元光标错误:无法读取文件s3://xx/xxxx/part-xxxxxxxxxx.parquet中块0中0处的值 我使用AWS glue dynamic frame write api创建了拼花地板文件,当我试图从glue目录表中读取AWS athena时,出现了这个错误 当我试图通过动态框架通过glue目录读取此文件时,这似乎很好,但雅典娜给出了上述错误 使用avro格式时,似乎没有问题 CREATE EXTERNAL TABLE `table_name`( `column_name_1

配置单元光标错误:无法读取文件s3://xx/xxxx/part-xxxxxxxxxx.parquet中块0中0处的值

我使用AWS glue dynamic frame write api创建了拼花地板文件,当我试图从glue目录表中读取AWS athena时,出现了这个错误

当我试图通过动态框架通过glue目录读取此文件时,这似乎很好,但雅典娜给出了上述错误

使用avro格式时,似乎没有问题

CREATE EXTERNAL TABLE `table_name`(
`column_name_1` string, 
`column_name_2` 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://xxxxxxxxxxx/xxxxx/xxx/'
TBLPROPERTIES (
  'CrawlerSchemaDeserializerVersion'='1.0', 
  'CrawlerSchemaSerializerVersion'='1.0', 
  'UPDATED_BY_CRAWLER'='xxxxxxxxxx', 
  'averageRecordSize'='xxxxx', 
  'classification'='parquet', 
  'compressionType'='none', 
  'objectCount'='xxxxx', 
  'recordCount'='xxx', 
  'sizeKey'='xxxx', 
  'typeOfData'='file') 

在雅典娜的例子中,smallint有一个问题,它没有空值

它不能与smallint和任何其他数据类型一起使用,因此我们得到上述错误


一个解决方案是将smallint转换为字符串,然后再转换为拼花中的s3

SHOW CREATE TABLE_name和通过crawler或DDL?bdcloud创建的该表的输出是什么,它给了我完整的模式,表格是通过Crawler创建的。你能在这里发布输出或用它更新你的问题吗?你能试着在没有表格属性的情况下运行DDL并检查拼花文件模式是否有效吗?