Создать SpecificRecord из схемы Avro программно - PullRequest
1 голос
/ 21 февраля 2020

Я работаю со следующим кодом, который принимает org.apache.avro.Schema и возвращает org.apache.avro.generic.GenericRecord.

Как я могу изменить его, чтобы он возвращал org.apache.avro.specific.SpecificRecord вместо этого?

  private GenericRecord generateRecord(Schema schema) {
    GenericRecordBuilder builder = new GenericRecordBuilder(schema);
    for (Schema.Field field : schema.getFields()) {
      builder.set(field, generateObject(field.schema()));
    }
    return builder.build();
  }

например

if (schema.getName().equals("MyCustomRecord")) {
    // code to create SpecificRecord here from Schema
}
...