当读取具有date列的拼花文件时,我将面临以下异常。我使用的是梁-sdks java-io* 2.11.0和拼花*-1.10,请帮我做同样的事情。
提前谢谢你。
Caused by: java.lang.IllegalArgumentException: INT96 not yet implemented.
at org.apache.parquet.avro.AvroSchemaConverter$1.convertINT96(AvroSchemaConverter.java:279)
at org.apache.parquet.avro.AvroSchemaConverter$1.convertINT96(AvroSchemaConverter.java:264)
at org.apache.parquet.schema.PrimitiveType$PrimitiveTypeName$7.convert(PrimitiveType.java:297)
at org.apache.parquet.avro.AvroSchemaConverter.convertField(AvroSchemaConverter.java:263)
at org.apache.parquet.avro.AvroSchemaConverter.convertFields(AvroSchemaConverter.java:241)
at org.apache.parquet.avro.AvroSchemaConverter.convert(AvroSchemaConverter.java:231)
at org.apache.parquet.avro.AvroReadSupport.prepareForRead(AvroReadSupport.java:130)
at org.apache.parquet.hadoop.InternalParquetRecordReader.initialize(InternalParquetRecordReader.java:183)
at org.apache.parquet.hadoop.ParquetReader.initReader(ParquetReader.java:156)
at org.apache.parquet.hadoop.ParquetReader.read(ParquetReader.java:135)
at org.apache.beam.sdk.io.parquet.ParquetIO$ReadFiles$ReadFn.processElement(ParquetIO.java:221)发布于 2021-09-02 01:32:56
Parquet INT96类型“不推荐”,但parquet-avro库在1.12.0发行版中添加了一个属性,以便使用旧的大型数据集的客户能够重新处理它并转换为受支持的类型(固定的12字节数组).1
您可以使用值parquet.avro.readInt96AsFixed传递"true"属性。2
如果您使用的是Beam中的ParquetIO:
PCollection<GenericRecord> records =
pipeline.apply(ParquetIO.read(SCHEMA).from(options.getMyParquetFilesLocation())
.withConfiguration(Map.of("parquet.avro.readInt96AsFixed", "true")));发布于 2021-04-09 09:27:33
根据地板-阿夫罗文档,在Avro类型映射中不支持int96 (拼花类型)。
https://stackoverflow.com/questions/55829202
复制相似问题