Package org.apache.flink.formats.avro
Class AvroSerializationSchema<T>
- java.lang.Object
-
- org.apache.flink.formats.avro.AvroSerializationSchema<T>
-
- Type Parameters:
T- the type to be serialized
- All Implemented Interfaces:
Serializable,org.apache.flink.api.common.serialization.SerializationSchema<T>
- Direct Known Subclasses:
RegistryAvroSerializationSchema
public class AvroSerializationSchema<T> extends Object implements org.apache.flink.api.common.serialization.SerializationSchema<T>
Serialization schema that serializes to Avro binary format.- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedAvroSerializationSchema(Class<T> recordClazz, org.apache.avro.Schema schema)Creates an Avro deserialization schema.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidcheckAvroInitialized()booleanequals(Object o)static AvroSerializationSchema<org.apache.avro.generic.GenericRecord>forGeneric(org.apache.avro.Schema schema)CreatesAvroSerializationSchemathat serializesGenericRecordusing provided schema.static <T extends org.apache.avro.specific.SpecificRecord>
AvroSerializationSchema<T>forSpecific(Class<T> tClass)CreatesAvroSerializationSchemathat serializesSpecificRecordusing provided schema.protected org.apache.avro.generic.GenericDatumWriter<T>getDatumWriter()protected org.apache.avro.io.BinaryEncodergetEncoder()protected ByteArrayOutputStreamgetOutputStream()org.apache.avro.SchemagetSchema()inthashCode()voidopen(org.apache.flink.api.common.serialization.SerializationSchema.InitializationContext context)byte[]serialize(T object)
-
-
-
Constructor Detail
-
AvroSerializationSchema
protected AvroSerializationSchema(Class<T> recordClazz, @Nullable org.apache.avro.Schema schema)
Creates an Avro deserialization schema.- Parameters:
recordClazz- class to serialize. Should be one of:SpecificRecord,GenericRecord.schema- writer Avro schema. Should be provided if recordClazz isGenericRecord
-
-
Method Detail
-
forSpecific
public static <T extends org.apache.avro.specific.SpecificRecord> AvroSerializationSchema<T> forSpecific(Class<T> tClass)
CreatesAvroSerializationSchemathat serializesSpecificRecordusing provided schema.- Parameters:
tClass- the type to be serialized- Returns:
- serialized record in form of byte array
-
forGeneric
public static AvroSerializationSchema<org.apache.avro.generic.GenericRecord> forGeneric(org.apache.avro.Schema schema)
CreatesAvroSerializationSchemathat serializesGenericRecordusing provided schema.- Parameters:
schema- the schema that will be used for serialization- Returns:
- serialized record in form of byte array
-
getSchema
public org.apache.avro.Schema getSchema()
-
getEncoder
protected org.apache.avro.io.BinaryEncoder getEncoder()
-
getDatumWriter
protected org.apache.avro.generic.GenericDatumWriter<T> getDatumWriter()
-
getOutputStream
protected ByteArrayOutputStream getOutputStream()
-
open
public void open(org.apache.flink.api.common.serialization.SerializationSchema.InitializationContext context) throws Exception
-
serialize
public byte[] serialize(T object)
- Specified by:
serializein interfaceorg.apache.flink.api.common.serialization.SerializationSchema<T>
-
checkAvroInitialized
protected void checkAvroInitialized()
-
-