Class GenericRecordBuilder

  • All Implemented Interfaces:
    Closeable, AutoCloseable

    @Beta
    public final class GenericRecordBuilder
    extends Object
    implements Closeable
    Bytecode generating GenericRecord builder. Microbenchmarks show a 10% performance improvement. but depending on your data your performance benefits can be greater or smaller. The main benefit for this is the potential for eliminating the need for separate handling or generic records vs specific records in the avro lib... Benchmark Mode Cnt Score Error Units GenericRecordBenchmark.testAvroGenericRecordNew thrpt 10 36162498.300 ±246967.965 ops/s GenericRecordBenchmark.testSpf4jGenericRecordNew thrpt 10 39773579.353 ± 939582.354 ops/s GenericRecordBenchmark.testAvroGenericRecordNewSetGet thrpt 10 36274035.575 ± 476132.764 ops/s GenericRecordBenchmark.testSpf4jGenericRecordNewSetGet thrpt 10 40111265.012 ± 600216.931 ops/s
    Author:
    zoly
    • Constructor Detail

      • GenericRecordBuilder

        public GenericRecordBuilder​(org.apache.avro.Schema... schemas)
      • GenericRecordBuilder

        public GenericRecordBuilder​(org.apache.avro.generic.GenericData.StringType stringType,
                                    org.apache.avro.Schema... schemas)
    • Method Detail

      • getRecordClass

        public Class<? extends org.apache.avro.specific.SpecificRecordBase> getRecordClass​(org.apache.avro.Schema schema)
      • getEnumClass

        public Class<? extends org.apache.avro.generic.GenericEnumSymbol> getEnumClass​(org.apache.avro.Schema schema)
      • getFixedClass

        public Class<? extends org.apache.avro.generic.GenericFixed> getFixedClass​(org.apache.avro.Schema schema)