Javaのavro-parquetファイルからフィールドのサブセットを読み取るにはどうすればよいですか?JavaのAvro-Parquetファイルから特定のフィールドを読み取る方法は?
私は、格納されたレコードのサブセットであるavroスキーマを定義し、それらを読むことができると考えましたが、例外が発生します。 ClassBののフィールドがにClassAのサブセットです
- クラスA
- ClassBの
:ここ
は私が2つのアブロスキーマを持ってそれを解決するために
をしようとした方法です。
final Builder<ClassB> builder = AvroParquetReader.builder(files[0].getPath());
final ParquetReader<ClassB> reader = builder.build();
//AvroParquetReader<ClassA> readerA = new AvroParquetReader<ClassA>(files[0].getPath());
ClassB record = null;
final List<ClassB> list = new ArrayList<>();
while ((record = reader.read()) != null) {
list.add(record);
}
は、しかし、私はライン(record=reader.read())
にClassCastException
を得る:Cannot convert ClassA to ClassB
私は読者がファイルからスキーマを読んでいるとします。
モデル(つまり、builder.withModel
)で送信しようとしましたが、クラスB extends org.apache.avro.specific.SpecificRecordBase
から例外がスローされます。
Iイベントがありませんので、シガー...