У меня есть одна из наших систем Python, генерирующая файлы Parquet с использованием Pandas и fastparquet.Они должны быть прочитаны системой Scala, которая работает поверх потоков Akka.
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)
})