Class MongoDBConnectorDeserializationSchema
- java.lang.Object
-
- org.apache.flink.cdc.connectors.mongodb.table.MongoDBConnectorDeserializationSchema
-
- All Implemented Interfaces:
Serializable,org.apache.flink.api.java.typeutils.ResultTypeQueryable<org.apache.flink.table.data.RowData>,DebeziumDeserializationSchema<org.apache.flink.table.data.RowData>
- Direct Known Subclasses:
MongoDBConnectorFullChangelogDeserializationSchema
@PublicEvolving public class MongoDBConnectorDeserializationSchema extends Object implements DebeziumDeserializationSchema<org.apache.flink.table.data.RowData>
Deserialization schema from Mongodb ChangeStreamDocument to Flink Table/SQL internal data structureRowData.- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected booleanhasMetadataWhether the deserializer needs to handle metadata columns.protected org.apache.flink.cdc.connectors.mongodb.table.MongoDBConnectorDeserializationSchema.DeserializationRuntimeConverterphysicalConverterRuntime converter that convertsChangeStreamDocuments intoRowDataconsisted of physical column values.
-
Constructor Summary
Constructors Constructor Description MongoDBConnectorDeserializationSchema(org.apache.flink.table.types.logical.RowType physicalDataType, MetadataConverter[] metadataConverters, org.apache.flink.api.common.typeinfo.TypeInformation<org.apache.flink.table.data.RowData> resultTypeInfo, java.time.ZoneId localTimeZone)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voiddeserialize(org.apache.kafka.connect.source.SourceRecord record, org.apache.flink.util.Collector<org.apache.flink.table.data.RowData> out)Deserialize the Debezium record, it is represented in KafkaSourceRecord.protected voidemit(org.apache.kafka.connect.source.SourceRecord inRecord, org.apache.flink.table.data.RowData physicalRow, org.apache.flink.util.Collector<org.apache.flink.table.data.RowData> collector)protected org.bson.BsonDocumentextractBsonDocument(org.apache.kafka.connect.data.Struct value, org.apache.kafka.connect.data.Schema valueSchema, String fieldName)protected org.apache.flink.table.data.GenericRowDataextractRowData(org.bson.BsonDocument document)org.apache.flink.api.common.typeinfo.TypeInformation<org.apache.flink.table.data.RowData>getProducedType()protected com.mongodb.client.model.changestream.OperationTypeoperationTypeFor(org.apache.kafka.connect.source.SourceRecord record)
-
-
-
Field Detail
-
physicalConverter
protected final org.apache.flink.cdc.connectors.mongodb.table.MongoDBConnectorDeserializationSchema.DeserializationRuntimeConverter physicalConverter
Runtime converter that convertsChangeStreamDocuments intoRowDataconsisted of physical column values.
-
hasMetadata
protected final boolean hasMetadata
Whether the deserializer needs to handle metadata columns.
-
-
Constructor Detail
-
MongoDBConnectorDeserializationSchema
public MongoDBConnectorDeserializationSchema(org.apache.flink.table.types.logical.RowType physicalDataType, MetadataConverter[] metadataConverters, org.apache.flink.api.common.typeinfo.TypeInformation<org.apache.flink.table.data.RowData> resultTypeInfo, java.time.ZoneId localTimeZone)
-
-
Method Detail
-
deserialize
public void deserialize(org.apache.kafka.connect.source.SourceRecord record, org.apache.flink.util.Collector<org.apache.flink.table.data.RowData> out) throws ExceptionDescription copied from interface:DebeziumDeserializationSchemaDeserialize the Debezium record, it is represented in KafkaSourceRecord.- Specified by:
deserializein interfaceDebeziumDeserializationSchema<org.apache.flink.table.data.RowData>- Throws:
Exception
-
extractRowData
protected org.apache.flink.table.data.GenericRowData extractRowData(org.bson.BsonDocument document) throws Exception- Throws:
Exception
-
extractBsonDocument
protected org.bson.BsonDocument extractBsonDocument(org.apache.kafka.connect.data.Struct value, org.apache.kafka.connect.data.Schema valueSchema, String fieldName)
-
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>
-
operationTypeFor
protected com.mongodb.client.model.changestream.OperationType operationTypeFor(org.apache.kafka.connect.source.SourceRecord record)
-
emit
protected void emit(org.apache.kafka.connect.source.SourceRecord inRecord, org.apache.flink.table.data.RowData physicalRow, org.apache.flink.util.Collector<org.apache.flink.table.data.RowData> collector)
-
-