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:
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.apache.flink.api.common.serialization.SerializationSchema
org.apache.flink.api.common.serialization.SerializationSchema.InitializationContext -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedAvroSerializationSchema(Class<T> recordClazz, org.apache.avro.Schema schema, AvroFormatOptions.AvroEncoding encoding) Creates an Avro deserialization schema. -
Method Summary
Modifier and TypeMethodDescriptionprotected voidbooleanstatic AvroSerializationSchema<org.apache.avro.generic.GenericRecord>forGeneric(org.apache.avro.Schema schema) CreatesAvroSerializationSchemathat serializesGenericRecordusing provided schema.static AvroSerializationSchema<org.apache.avro.generic.GenericRecord>forGeneric(org.apache.avro.Schema schema, AvroFormatOptions.AvroEncoding encoding) CreatesAvroSerializationSchemathat serializesGenericRecordusing provided schema.static <T extends org.apache.avro.specific.SpecificRecord>
AvroSerializationSchema<T>forSpecific(Class<T> tClass) CreatesAvroSerializationSchemathat serializesSpecificRecordusing provided schema.static <T extends org.apache.avro.specific.SpecificRecord>
AvroSerializationSchema<T>forSpecific(Class<T> tClass, AvroFormatOptions.AvroEncoding encoding) CreatesAvroSerializationSchemathat serializesSpecificRecordusing provided schema.protected org.apache.avro.generic.GenericDatumWriter<T>protected org.apache.avro.io.Encoderprotected ByteArrayOutputStreamorg.apache.avro.SchemainthashCode()voidopen(org.apache.flink.api.common.serialization.SerializationSchema.InitializationContext context) byte[]
-
Constructor Details
-
AvroSerializationSchema
protected AvroSerializationSchema(Class<T> recordClazz, @Nullable org.apache.avro.Schema schema, AvroFormatOptions.AvroEncoding encoding) 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 Details
-
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
-
forSpecific
public static <T extends org.apache.avro.specific.SpecificRecord> AvroSerializationSchema<T> forSpecific(Class<T> tClass, AvroFormatOptions.AvroEncoding encoding) 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
-
forGeneric
public static AvroSerializationSchema<org.apache.avro.generic.GenericRecord> forGeneric(org.apache.avro.Schema schema, AvroFormatOptions.AvroEncoding encoding) 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.Encoder getEncoder() -
getDatumWriter
-
getOutputStream
-
open
public void open(org.apache.flink.api.common.serialization.SerializationSchema.InitializationContext context) throws Exception -
serialize
- Specified by:
serializein interfaceorg.apache.flink.api.common.serialization.SerializationSchema<T>
-
checkAvroInitialized
protected void checkAvroInitialized() -
equals
-
hashCode
public int hashCode()
-