public class AvroTypeInfo<T extends org.apache.avro.specific.SpecificRecordBase> extends PojoTypeInfo<T>
Proceeding: It uses a regular pojo type analysis and replaces all GenericType<CharSequence>
with a GenericType<avro.Utf8>
. All other types used by Avro
are standard Java types. Only strings are represented as CharSequence fields and represented as
Utf8 classes at runtime. CharSequence is not comparable. To make them nicely usable with field
expressions, we replace them here by generic type infos containing Utf8 classes (which are
comparable),
This class is checked by the AvroPojoTest.
PojoTypeInfo.NamedFlatFieldDescriptor
CompositeType.FlatFieldDescriptor, CompositeType.InvalidFieldReferenceException, CompositeType.TypeComparatorBuilder<T>
Constructor and Description |
---|
AvroTypeInfo(Class<T> typeClass)
Creates a new Avro type info for the given class.
|
Modifier and Type | Method and Description |
---|---|
TypeSerializer<T> |
createSerializer(ExecutionConfig config)
Create
TypeSerializer for this type. |
TypeSerializer<T> |
createSerializer(SerializerConfig config)
Creates a serializer for the type.
|
canEqual, createPojoSerializer, createPojoSerializer, createTypeComparatorBuilder, equals, getArity, getFieldIndex, getFieldNames, getFlatFields, getPojoFieldAt, getTotalFields, getTypeAt, getTypeAt, hashCode, isBasicType, isSortKeyType, isTupleType, toString
createComparator, getFlatFields, getTypeClass, hasDeterministicFieldOrder, hasField, isKeyType
getGenericParameters, of, of
public TypeSerializer<T> createSerializer(SerializerConfig config)
TypeInformation
createSerializer
in class PojoTypeInfo<T extends org.apache.avro.specific.SpecificRecordBase>
config
- The config used to parameterize the serializer.public TypeSerializer<T> createSerializer(ExecutionConfig config)
TypeInformation
TypeSerializer
for this type.createSerializer
in class PojoTypeInfo<T extends org.apache.avro.specific.SpecificRecordBase>
config
- the configuration of this job executionCopyright © 2014–2024 The Apache Software Foundation. All rights reserved.