Class MongoDBDialect
- java.lang.Object
-
- org.apache.flink.cdc.connectors.mongodb.source.dialect.MongoDBDialect
-
- All Implemented Interfaces:
Closeable,Serializable,AutoCloseable,DataSourceDialect<MongoDBSourceConfig>
@Experimental public class MongoDBDialect extends Object implements DataSourceDialect<MongoDBSourceConfig>
TheDataSourceDialectimplementation for MongoDB datasource.- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description MongoDBDialect()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description static io.debezium.relational.history.TableChanges.TableChangecollectionSchema(io.debezium.relational.TableId tableId)ChunkSplittercreateChunkSplitter(MongoDBSourceConfig sourceConfig)Deprecated.ChunkSplittercreateChunkSplitter(MongoDBSourceConfig sourceConfig, ChunkSplitterState chunkSplitterState)FetchTask<SourceSplitBase>createFetchTask(SourceSplitBase sourceSplitBase)The fetch task used to fetch data of a snapshot split or stream split.MongoDBFetchTaskContextcreateFetchTaskContext(MongoDBSourceConfig sourceConfig)The task context used for fetch task to fetch data from external systems.List<io.debezium.relational.TableId>discoverDataCollections(MongoDBSourceConfig sourceConfig)Discovers the list of data collection to capture.Map<io.debezium.relational.TableId,io.debezium.relational.history.TableChanges.TableChange>discoverDataCollectionSchemas(MongoDBSourceConfig sourceConfig)Discovers the captured data collections' schema bySourceConfig.ChangeStreamOffsetdisplayCurrentOffset(MongoDBSourceConfig sourceConfig)Displays current offset from the database e.g.StringgetName()Get the name of dialect.booleanisDataCollectionIdCaseSensitive(MongoDBSourceConfig sourceConfig)Check if the CollectionId is case-sensitive or not.booleanisIncludeDataCollection(MongoDBSourceConfig sourceConfig, io.debezium.relational.TableId tableId)Check if the tableId is included in SourceConfig.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.flink.cdc.connectors.base.dialect.DataSourceDialect
close, displayCommittedOffset, notifyCheckpointComplete
-
-
-
-
Method Detail
-
getName
public String getName()
Description copied from interface:DataSourceDialectGet the name of dialect.- Specified by:
getNamein interfaceDataSourceDialect<MongoDBSourceConfig>
-
discoverDataCollections
public List<io.debezium.relational.TableId> discoverDataCollections(MongoDBSourceConfig sourceConfig)
Description copied from interface:DataSourceDialectDiscovers the list of data collection to capture.- Specified by:
discoverDataCollectionsin interfaceDataSourceDialect<MongoDBSourceConfig>
-
discoverDataCollectionSchemas
public Map<io.debezium.relational.TableId,io.debezium.relational.history.TableChanges.TableChange> discoverDataCollectionSchemas(MongoDBSourceConfig sourceConfig)
Description copied from interface:DataSourceDialectDiscovers the captured data collections' schema bySourceConfig.- Specified by:
discoverDataCollectionSchemasin interfaceDataSourceDialect<MongoDBSourceConfig>- Parameters:
sourceConfig- a basic source configuration.
-
collectionSchema
public static io.debezium.relational.history.TableChanges.TableChange collectionSchema(io.debezium.relational.TableId tableId)
-
displayCurrentOffset
public ChangeStreamOffset displayCurrentOffset(MongoDBSourceConfig sourceConfig)
Description copied from interface:DataSourceDialectDisplays current offset from the database e.g. query Mysql binary logs by querySHOW MASTER STATUS.- Specified by:
displayCurrentOffsetin interfaceDataSourceDialect<MongoDBSourceConfig>
-
isDataCollectionIdCaseSensitive
public boolean isDataCollectionIdCaseSensitive(MongoDBSourceConfig sourceConfig)
Description copied from interface:DataSourceDialectCheck if the CollectionId is case-sensitive or not.- Specified by:
isDataCollectionIdCaseSensitivein interfaceDataSourceDialect<MongoDBSourceConfig>
-
createChunkSplitter
@Deprecated public ChunkSplitter createChunkSplitter(MongoDBSourceConfig sourceConfig)
Deprecated.Description copied from interface:DataSourceDialectReturns theChunkSplitterwhich used to split collection to splits.- Specified by:
createChunkSplitterin interfaceDataSourceDialect<MongoDBSourceConfig>
-
createChunkSplitter
public ChunkSplitter createChunkSplitter(MongoDBSourceConfig sourceConfig, ChunkSplitterState chunkSplitterState)
- Specified by:
createChunkSplitterin interfaceDataSourceDialect<MongoDBSourceConfig>
-
createFetchTask
public FetchTask<SourceSplitBase> createFetchTask(SourceSplitBase sourceSplitBase)
Description copied from interface:DataSourceDialectThe fetch task used to fetch data of a snapshot split or stream split.- Specified by:
createFetchTaskin interfaceDataSourceDialect<MongoDBSourceConfig>
-
createFetchTaskContext
public MongoDBFetchTaskContext createFetchTaskContext(MongoDBSourceConfig sourceConfig)
Description copied from interface:DataSourceDialectThe task context used for fetch task to fetch data from external systems.- Specified by:
createFetchTaskContextin interfaceDataSourceDialect<MongoDBSourceConfig>
-
isIncludeDataCollection
public boolean isIncludeDataCollection(MongoDBSourceConfig sourceConfig, io.debezium.relational.TableId tableId)
Description copied from interface:DataSourceDialectCheck if the tableId is included in SourceConfig.- Specified by:
isIncludeDataCollectionin interfaceDataSourceDialect<MongoDBSourceConfig>
-
-