在定义要提供给DatumReader类的解码器时,可以选择重用解码器,如下所示。正如文档中提到的,解码器类是不可变的,并且是线程安全的,因此重用它是有意义的。最好的做法是重用解码器吗?如果我们每次尝试解码Avro有效负载时都创建解码器,是否会产生性能开销?
DatumReader<T> reader = new ReflectDatumReader<>(writerSchema, readerSchema);
// Second argument is a decoder to be reused
DecoderFactory.get().binaryDecoder(record, null);
reader.read(null, binaryDecoder);https://stackoverflow.com/questions/41468439
复制相似问题