我有一个使用 Pandas 和 fastparquet 生成 Parquet 文件的 Python 系统。这些将由在 Akka 流上运行的 Scala 系统读取。
Akka 确实提供了用于读取 Avro Parquet 文件的源。但是,当我尝试读取文件时,我最终得到
java.lang.IllegalArgumentException: INT96 not yet implemented.
这是 Scala 应用程序工作不需要阅读的列之一。我的问题是,考虑到生成的文件来自 fastparquet,我是否可以指定一个模式并只获取那一列。
生成用于读取 Parquet 文件的源的相关片段是:
.map(result => {
val path = s"s3a://${result.bucketName}/${result.key}"
val file = HadoopInputFile.fromPath(new Path(path), hadoopConfig)
val reader: ParquetReader[GenericRecord] =
AvroParquetReader
.builder[GenericRecord](file)
.withConf(hadoopConfig)
.build()
AvroParquetSource(reader)
})