Class SqlServerSourceBuilder<T>
- java.lang.Object
-
- org.apache.flink.cdc.connectors.sqlserver.source.SqlServerSourceBuilder<T>
-
public class SqlServerSourceBuilder<T> extends Object
The builder class forSqlServerSourceBuilder.SqlServerIncrementalSourceto make it easier for the users to construct aSqlServerSourceBuilder.SqlServerIncrementalSource.Check the Java docs of each individual method to learn more about the settings to build a
SqlServerSourceBuilder.SqlServerIncrementalSource.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classSqlServerSourceBuilder.SqlServerIncrementalSource<T>TheJdbcIncrementalSourceimplementation for SqlServer.
-
Constructor Summary
Constructors Constructor Description SqlServerSourceBuilder()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description SqlServerSourceBuilder<T>assignUnboundedChunkFirst(boolean assignUnboundedChunkFirst)Whether theSqlServerSourceBuildershould assign the unbounded chunks first or not during snapshot reading phase.SqlServerSourceBuilder.SqlServerIncrementalSource<T>build()SqlServerSourceBuilder<T>chunkKeyColumn(String chunkKeyColumn)The chunk key of table snapshot, captured tables are split into multiple chunks by the chunk key column when read the snapshot of table.SqlServerSourceBuilder<T>closeIdleReaders(boolean closeIdleReaders)Whether to close idle readers at the end of the snapshot phase.SqlServerSourceBuilder<T>connectionPoolSize(int connectionPoolSize)The connection pool size.SqlServerSourceBuilder<T>connectMaxRetries(int connectMaxRetries)The max retry times to get connection.SqlServerSourceBuilder<T>connectTimeout(java.time.Duration connectTimeout)The maximum time that the connector should wait after trying to connect to the SqlSever database server before timing out.SqlServerSourceBuilder<T>databaseList(String... databaseList)A required list of regular expressions that match database names to be monitored; any database name not included in the whitelist will be excluded from monitoring.SqlServerSourceBuilder<T>debeziumProperties(Properties properties)The Debezium SqlSever connector properties.SqlServerSourceBuilder<T>deserializer(DebeziumDeserializationSchema<T> deserializer)The deserializer used to convert from consumedSourceRecord.SqlServerSourceBuilder<T>distributionFactorLower(double distributionFactorLower)The lower bound of split key evenly distribution factor, the factor is used to determine whether the table is evenly distribution or not.SqlServerSourceBuilder<T>distributionFactorUpper(double distributionFactorUpper)The upper bound of split key evenly distribution factor, the factor is used to determine whether the table is evenly distribution or not.SqlServerSourceBuilder<T>fetchSize(int fetchSize)The maximum fetch size for per poll when read table snapshot.SqlServerSourceBuilder<T>hostname(String hostname)Hostname of the SQL Server database server.SqlServerSourceBuilder<T>includeSchemaChanges(boolean includeSchemaChanges)Whether theSqlServerSourceBuilder.SqlServerIncrementalSourceshould output the schema changes or not.SqlServerSourceBuilder<T>password(String password)Password to use when connecting to the SqlSever database server.SqlServerSourceBuilder<T>port(int port)Integer port number of the SqlServer database server.SqlServerSourceBuilder<T>releaseSnapshotMetadataEnabled(boolean releaseSnapshotMetadataEnabled)Whether to release the finished snapshot split metadata from the coordinator after entering the stream phase, to reduce JobManager memory pressure (FLINK-40697).SqlServerSourceBuilder<T>serverTimeZone(String timeZone)The session time zone in database server, e.g.SqlServerSourceBuilder<T>skipSnapshotBackfill(boolean skipSnapshotBackfill)Whether to skip backfill in snapshot reading phase.SqlServerSourceBuilder<T>splitMetaGroupSize(int splitMetaGroupSize)The group size of split meta, if the meta size exceeds the group size, the meta will be will be divided into multiple groups.SqlServerSourceBuilder<T>splitSize(int splitSize)The split size (number of rows) of table snapshot, captured tables are split into multiple splits when read the snapshot of table.SqlServerSourceBuilder<T>startupOptions(StartupOptions startupOptions)Specifies the startup options.SqlServerSourceBuilder<T>tableList(String... tableList)A required list of regular expressions that match fully-qualified table identifiers for tables to be monitored; any table not included in the list will be excluded from monitoring.SqlServerSourceBuilder<T>username(String username)Name of the SqlSever database to use when connecting to the SqlSever database server.
-
-
-
Method Detail
-
hostname
public SqlServerSourceBuilder<T> hostname(String hostname)
Hostname of the SQL Server database server.
-
port
public SqlServerSourceBuilder<T> port(int port)
Integer port number of the SqlServer database server.
-
databaseList
public SqlServerSourceBuilder<T> databaseList(String... databaseList)
A required list of regular expressions that match database names to be monitored; any database name not included in the whitelist will be excluded from monitoring.
-
tableList
public SqlServerSourceBuilder<T> tableList(String... tableList)
A required list of regular expressions that match fully-qualified table identifiers for tables to be monitored; any table not included in the list will be excluded from monitoring. Each identifier is of the form<schemaName>.<tableName>.
-
username
public SqlServerSourceBuilder<T> username(String username)
Name of the SqlSever database to use when connecting to the SqlSever database server.
-
password
public SqlServerSourceBuilder<T> password(String password)
Password to use when connecting to the SqlSever database server.
-
serverTimeZone
public SqlServerSourceBuilder<T> serverTimeZone(String timeZone)
The session time zone in database server, e.g. "America/Los_Angeles". It controls how the TIMESTAMP type in SqlSever converted to STRING. See more
-
splitSize
public SqlServerSourceBuilder<T> splitSize(int splitSize)
The split size (number of rows) of table snapshot, captured tables are split into multiple splits when read the snapshot of table.
-
splitMetaGroupSize
public SqlServerSourceBuilder<T> splitMetaGroupSize(int splitMetaGroupSize)
The group size of split meta, if the meta size exceeds the group size, the meta will be will be divided into multiple groups.
-
distributionFactorUpper
public SqlServerSourceBuilder<T> distributionFactorUpper(double distributionFactorUpper)
The upper bound of split key evenly distribution factor, the factor is used to determine whether the table is evenly distribution or not.
-
distributionFactorLower
public SqlServerSourceBuilder<T> distributionFactorLower(double distributionFactorLower)
The lower bound of split key evenly distribution factor, the factor is used to determine whether the table is evenly distribution or not.
-
fetchSize
public SqlServerSourceBuilder<T> fetchSize(int fetchSize)
The maximum fetch size for per poll when read table snapshot.
-
connectTimeout
public SqlServerSourceBuilder<T> connectTimeout(java.time.Duration connectTimeout)
The maximum time that the connector should wait after trying to connect to the SqlSever database server before timing out.
-
connectMaxRetries
public SqlServerSourceBuilder<T> connectMaxRetries(int connectMaxRetries)
The max retry times to get connection.
-
connectionPoolSize
public SqlServerSourceBuilder<T> connectionPoolSize(int connectionPoolSize)
The connection pool size.
-
includeSchemaChanges
public SqlServerSourceBuilder<T> includeSchemaChanges(boolean includeSchemaChanges)
Whether theSqlServerSourceBuilder.SqlServerIncrementalSourceshould output the schema changes or not.
-
startupOptions
public SqlServerSourceBuilder<T> startupOptions(StartupOptions startupOptions)
Specifies the startup options.
-
chunkKeyColumn
public SqlServerSourceBuilder<T> chunkKeyColumn(String chunkKeyColumn)
The chunk key of table snapshot, captured tables are split into multiple chunks by the chunk key column when read the snapshot of table.
-
debeziumProperties
public SqlServerSourceBuilder<T> debeziumProperties(Properties properties)
The Debezium SqlSever connector properties. For example, "snapshot.mode".
-
deserializer
public SqlServerSourceBuilder<T> deserializer(DebeziumDeserializationSchema<T> deserializer)
The deserializer used to convert from consumedSourceRecord.
-
closeIdleReaders
public SqlServerSourceBuilder<T> closeIdleReaders(boolean closeIdleReaders)
Whether to close idle readers at the end of the snapshot phase. This feature depends on FLIP-147: Support Checkpoints After Tasks Finished. The flink version is required to be greater than or equal to 1.14, and the configuration'execution.checkpointing.checkpoints-after-tasks-finish.enabled'needs to be set to true.See more FLIP-147: Support Checkpoints After Tasks Finished.
-
skipSnapshotBackfill
public SqlServerSourceBuilder<T> skipSnapshotBackfill(boolean skipSnapshotBackfill)
Whether to skip backfill in snapshot reading phase.If backfill is skipped, changes on captured tables during snapshot phase will be consumed later in binlog reading phase instead of being merged into the snapshot.
WARNING: Skipping backfill might lead to data inconsistency because some binlog events happened within the snapshot phase might be replayed (only at-least-once semantic is promised). For example updating an already updated value in snapshot, or deleting an already deleted entry in snapshot. These replayed binlog events should be handled specially.
-
assignUnboundedChunkFirst
public SqlServerSourceBuilder<T> assignUnboundedChunkFirst(boolean assignUnboundedChunkFirst)
Whether theSqlServerSourceBuildershould assign the unbounded chunks first or not during snapshot reading phase.
-
releaseSnapshotMetadataEnabled
public SqlServerSourceBuilder<T> releaseSnapshotMetadataEnabled(boolean releaseSnapshotMetadataEnabled)
Whether to release the finished snapshot split metadata from the coordinator after entering the stream phase, to reduce JobManager memory pressure (FLINK-40697).
-
build
public SqlServerSourceBuilder.SqlServerIncrementalSource<T> build()
- Returns:
- a SqlSeverParallelSource with the settings made for this builder.
-
-