0
如何從java中的avro-parquet文件讀取字段子集?如何從Java中的Avro-Parquet文件讀取特定字段?
我想我可以定義一個avro模式,它是存儲的記錄的一個子集,然後讀取它們...但我得到一個異常。
這裏是我試圖解決它
我有2種Avro的模式:
- CLASSA
- ClassB的
ClassB的的領域是ClassA的子集。
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
)但自classB extends org.apache.avro.specific.SpecificRecordBase
它引發異常。
我事件試圖設置架構的配置和設置它通過builder.withConfig
但沒有雪茄......