Class CanalJsonDeserializationSchema
java.lang.Object
org.apache.flink.formats.json.canal.CanalJsonDeserializationSchema
- 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>
public final class CanalJsonDeserializationSchema
extends Object
implements org.apache.flink.api.common.serialization.DeserializationSchema<org.apache.flink.table.data.RowData>
Deserialization schema from Canal JSON to Flink Table/SQL internal data structure
RowData. The deserialization schema knows Canal's schema definition and can extract the database
data and convert into RowData with RowKind.
Deserializes a byte[] message as a JSON object and reads the specified fields.
Failures during deserialization are forwarded as wrapped IOExceptions.
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final classA builder for creating aCanalJsonDeserializationSchema.Nested classes/interfaces inherited from interface org.apache.flink.api.common.serialization.DeserializationSchema
org.apache.flink.api.common.serialization.DeserializationSchema.InitializationContext -
Method Summary
Modifier and TypeMethodDescriptionbuilder(org.apache.flink.table.types.DataType physicalDataType, List<org.apache.flink.formats.json.canal.CanalJsonDecodingFormat.ReadableMetadata> requestedMetadata, org.apache.flink.api.common.typeinfo.TypeInformation<org.apache.flink.table.data.RowData> producedTypeInfo) Creates A builder for building aCanalJsonDeserializationSchema.org.apache.flink.table.data.RowDatadeserialize(byte[] message) voiddeserialize(byte[] message, org.apache.flink.util.Collector<org.apache.flink.table.data.RowData> out) booleanorg.apache.flink.api.common.typeinfo.TypeInformation<org.apache.flink.table.data.RowData>inthashCode()booleanisEndOfStream(org.apache.flink.table.data.RowData nextElement) voidopen(org.apache.flink.api.common.serialization.DeserializationSchema.InitializationContext context)
-
Method Details
-
builder
public static CanalJsonDeserializationSchema.Builder builder(org.apache.flink.table.types.DataType physicalDataType, List<org.apache.flink.formats.json.canal.CanalJsonDecodingFormat.ReadableMetadata> requestedMetadata, org.apache.flink.api.common.typeinfo.TypeInformation<org.apache.flink.table.data.RowData> producedTypeInfo) Creates A builder for building aCanalJsonDeserializationSchema. -
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
- Specified by:
deserializein interfaceorg.apache.flink.api.common.serialization.DeserializationSchema<org.apache.flink.table.data.RowData>- Throws:
IOException
-
deserialize
public void deserialize(@Nullable 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>
-
equals
-
hashCode
public int hashCode()
-