Class DebeziumAvroDeserializationSchema
- java.lang.Object
-
- org.apache.flink.formats.avro.registry.confluent.debezium.DebeziumAvroDeserializationSchema
-
- All Implemented Interfaces:
Serializable,org.apache.flink.api.common.serialization.DeserializationSchema<org.apache.flink.table.data.RowData>,org.apache.flink.api.java.typeutils.ResultTypeQueryable<org.apache.flink.table.data.RowData>
@Internal public final class DebeziumAvroDeserializationSchema extends Object implements org.apache.flink.api.common.serialization.DeserializationSchema<org.apache.flink.table.data.RowData>
Deserialization schema from Debezium Avro to Flink Table/SQL internal data structureRowData. The deserialization schema knows Debezium's schema definition and can extract the database data and convert intoRowDatawithRowKind. Deserializes abyte[]message as a JSON object and reads the specified fields. Failures during deserialization are forwarded as wrapped IOExceptions.- See Also:
- Debezium, Serialized Form
-
-
Constructor Summary
Constructors Constructor Description DebeziumAvroDeserializationSchema(org.apache.flink.table.types.logical.RowType rowType, org.apache.flink.api.common.typeinfo.TypeInformation<org.apache.flink.table.data.RowData> producedTypeInfo, String schemaRegistryUrl, String schemaString, Map<String,?> registryConfigs)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static org.apache.flink.table.types.logical.RowTypecreateDebeziumAvroRowType(org.apache.flink.table.types.DataType databaseSchema)org.apache.flink.table.data.RowDatadeserialize(byte[] message)voiddeserialize(byte[] message, org.apache.flink.util.Collector<org.apache.flink.table.data.RowData> out)booleanequals(Object o)org.apache.flink.api.common.typeinfo.TypeInformation<org.apache.flink.table.data.RowData>getProducedType()inthashCode()booleanisEndOfStream(org.apache.flink.table.data.RowData nextElement)voidopen(org.apache.flink.api.common.serialization.DeserializationSchema.InitializationContext context)
-
-
-
Constructor Detail
-
DebeziumAvroDeserializationSchema
public DebeziumAvroDeserializationSchema(org.apache.flink.table.types.logical.RowType rowType, org.apache.flink.api.common.typeinfo.TypeInformation<org.apache.flink.table.data.RowData> producedTypeInfo, String schemaRegistryUrl, @Nullable String schemaString, @Nullable Map<String,?> registryConfigs)
-
-
Method Detail
-
open
public void open(org.apache.flink.api.common.serialization.DeserializationSchema.InitializationContext context) throws Exception- Specified by:
openin interfaceorg.apache.flink.api.common.serialization.DeserializationSchema<org.apache.flink.table.data.RowData>- Throws:
Exception
-
deserialize
public org.apache.flink.table.data.RowData deserialize(byte[] message) throws IOException- Specified by:
deserializein interfaceorg.apache.flink.api.common.serialization.DeserializationSchema<org.apache.flink.table.data.RowData>- Throws:
IOException
-
deserialize
public void deserialize(byte[] message, org.apache.flink.util.Collector<org.apache.flink.table.data.RowData> out) throws IOException- Specified by:
deserializein interfaceorg.apache.flink.api.common.serialization.DeserializationSchema<org.apache.flink.table.data.RowData>- Throws:
IOException
-
isEndOfStream
public boolean isEndOfStream(org.apache.flink.table.data.RowData nextElement)
- Specified by:
isEndOfStreamin interfaceorg.apache.flink.api.common.serialization.DeserializationSchema<org.apache.flink.table.data.RowData>
-
getProducedType
public org.apache.flink.api.common.typeinfo.TypeInformation<org.apache.flink.table.data.RowData> getProducedType()
- Specified by:
getProducedTypein interfaceorg.apache.flink.api.java.typeutils.ResultTypeQueryable<org.apache.flink.table.data.RowData>
-
createDebeziumAvroRowType
public static org.apache.flink.table.types.logical.RowType createDebeziumAvroRowType(org.apache.flink.table.types.DataType databaseSchema)
-
-