Package org.apache.flink.formats.avro
Class AvroRowDataSerializationSchema
- java.lang.Object
-
- org.apache.flink.formats.avro.AvroRowDataSerializationSchema
-
- All Implemented Interfaces:
Serializable
,SerializationSchema<RowData>
public class AvroRowDataSerializationSchema extends Object implements SerializationSchema<RowData>
Serialization schema that serializesRowData
into Avro bytes.Serializes objects that are represented in (nested) Flink RowData. It support types that are compatible with Flink's Table & SQL API.
Note: Changes in this class need to be kept in sync with the corresponding runtime class
AvroRowDataDeserializationSchema
and schema converterAvroSchemaConverter
.- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.apache.flink.api.common.serialization.SerializationSchema
SerializationSchema.InitializationContext
-
-
Constructor Summary
Constructors Constructor Description AvroRowDataSerializationSchema(RowType rowType)
Creates an Avro serialization schema with the given record row type.AvroRowDataSerializationSchema(RowType rowType, SerializationSchema<org.apache.avro.generic.GenericRecord> nestedSchema, RowDataToAvroConverters.RowDataToAvroConverter runtimeConverter)
Creates an Avro serialization schema with the given record row type, nested schema and runtime converters.AvroRowDataSerializationSchema(RowType rowType, AvroFormatOptions.AvroEncoding encoding)
Creates an Avro serialization schema with the given record row type.AvroRowDataSerializationSchema(RowType rowType, AvroFormatOptions.AvroEncoding encoding, boolean legacyTimestampMapping)
Creates an Avro serialization schema with the given record row type and legacy timestamp mapping flag.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
equals(Object o)
int
hashCode()
void
open(SerializationSchema.InitializationContext context)
Initialization method for the schema.byte[]
serialize(RowData row)
Serializes the incoming element to a specified type.
-
-
-
Constructor Detail
-
AvroRowDataSerializationSchema
public AvroRowDataSerializationSchema(RowType rowType)
Creates an Avro serialization schema with the given record row type.
-
AvroRowDataSerializationSchema
public AvroRowDataSerializationSchema(RowType rowType, AvroFormatOptions.AvroEncoding encoding)
Creates an Avro serialization schema with the given record row type.- Parameters:
encoding
- The serialization approach used to serialize the data.
-
AvroRowDataSerializationSchema
public AvroRowDataSerializationSchema(RowType rowType, AvroFormatOptions.AvroEncoding encoding, boolean legacyTimestampMapping)
Creates an Avro serialization schema with the given record row type and legacy timestamp mapping flag.- Parameters:
encoding
- The serialization approach used to serialize the data.legacyTimestampMapping
- Use the legacy timestamp mapping.
-
AvroRowDataSerializationSchema
public AvroRowDataSerializationSchema(RowType rowType, SerializationSchema<org.apache.avro.generic.GenericRecord> nestedSchema, RowDataToAvroConverters.RowDataToAvroConverter runtimeConverter)
Creates an Avro serialization schema with the given record row type, nested schema and runtime converters.
-
-
Method Detail
-
open
public void open(SerializationSchema.InitializationContext context) throws Exception
Description copied from interface:SerializationSchema
Initialization method for the schema. It is called before the actual working methodsSerializationSchema.serialize(Object)
and thus suitable for one time setup work.The provided
SerializationSchema.InitializationContext
can be used to access additional features such as e.g. registering user metrics.- Specified by:
open
in interfaceSerializationSchema<RowData>
- Parameters:
context
- Contextual information that can be used during initialization.- Throws:
Exception
-
serialize
public byte[] serialize(RowData row)
Description copied from interface:SerializationSchema
Serializes the incoming element to a specified type.- Specified by:
serialize
in interfaceSerializationSchema<RowData>
- Parameters:
row
- The incoming element to be serialized- Returns:
- The serialized element.
-
-