将avro字节数组存储到avro文件的最佳方法是什么?

时间:2019-07-25 17:20:01

标签: java avro

在我们的系统中,一个avro(pojo)对象被转换为字节数组。

为便于查询,我们将其称为pojo学生。

GenericDatumWriter<Object> writer = new GenericDatumWriter<>(Student.SCHEMA$);
ByteArrayOutputStream output = new ByteArrayOutputStream();
Encoder encoder = EncoderFactory.get().binaryEncoder(output, null);
writer.write(student, encoder);
encoder.flush();
byte[] bytes = output.toByteArray();

现在我需要将此字节数组存储到学生记录的avro文件中。

我可以这样:

  • 将字节数组变回学生POJO
  • 使用DataFileWriter将记录写入文件。

有没有一种方法可以将字节数组流式传输到文件中而不将其转换为pojo或通用datnum?

0 个答案:

没有答案