public class NonCachingDatumReader<T>
extends org.apache.avro.generic.GenericDatumReader<T>
readString(Object, Schema, Decoder)
in GenericDatumReader calls #getStringClass, which uses an IdentityHashMap to cache results in order to avoid calling findStringClass(Schema)
.
However, findStringClass(Schema)
is much more efficient than using an IdentityHashMap anyway. Additionally, the performance of findStringClass(Schema)
}
can be improved slightly and made more readable.Constructor and Description |
---|
NonCachingDatumReader() |
NonCachingDatumReader(org.apache.avro.Schema schema) |
Modifier and Type | Method and Description |
---|---|
protected Class |
findStringClass(org.apache.avro.Schema schema) |
protected Object |
readString(Object old,
org.apache.avro.Schema expected,
org.apache.avro.io.Decoder in) |
addToArray, addToMap, convert, createBytes, createEnum, createFixed, createFixed, createString, getData, getExpected, getResolver, getSchema, newArray, newInstanceFromString, newMap, newRecord, peekArray, read, read, readArray, readBytes, readBytes, readEnum, readField, readFixed, readInt, readMap, readMapKey, readRecord, readString, readWithConversion, readWithoutConversion, setExpected, setSchema, skip
public NonCachingDatumReader()
public NonCachingDatumReader(org.apache.avro.Schema schema)
protected Object readString(Object old, org.apache.avro.Schema expected, org.apache.avro.io.Decoder in) throws IOException
readString
in class org.apache.avro.generic.GenericDatumReader<T>
IOException
Copyright © 2018 Apache NiFi Project. All rights reserved.