SqlServer
数据源配置

- 配置项说明:
实例ID
- 类型: 单行文本
- 必须: 是
- 默认值: 无
- 说明: 数据源实例名称,请起一个有意义且唯一的名称
分库分表
- 类型: 单行文本
- 必须: 是
- 默认值: off
- 说明: 无
端口
- 类型: 整型数字
- 必须: 是
- 默认值: 1433
- 说明: 无
数据库名
- 类型: 单行文本
- 必须: 是
- 默认值: 无
- 说明: 数据库名,创建JDBC实例时用
schema
- 类型: 单行文本
- 必须: 是
- 默认值: dbo
- 说明: Specify the schema (or several schema separated by commas) to be set in the search-path. This schema will be used to resolve unqualified object names used in statements over this connection.
用户名
- 类型: 单行文本
- 必须: 是
- 默认值: root
- 说明: 无
密码
- 类型: 密码
- 必须: 是
- 默认值: 无
- 说明: 无
附加参数
- 类型: 单行文本
- 必须: 否
- 默认值: 无
- 说明: 无
批量读

- 配置项说明:
数据库名
- 类型: 单选
- 必须: 是
- 默认值: 无
- 说明: 无
splitPk
- 类型: 单行文本
- 必须: 否
- 默认值: false
- 说明: SqlServerReader进行数据抽取时,如果指定splitPk,表示用户希望使用splitPk代表的字段进行数据分片,DataX因此会启动并发任务进行数据同步,这样可以大大提供数据同步的效能。 推荐splitPk用户使用表主键,因为表主键通常情况下比较均匀,因此切分出来的分片也不容易出现数据热点。 目前splitPk仅支持整形型数据切分,不支持浮点、字符串、日期等其他类型。如果用户指定其他非支持类型,SqlServerReader将报错! splitPk设置为空,底层将视作用户不允许对单表进行切分,因此使用单通道进行抽取。
fetchSize
- 类型: 整型数字
- 必须: 是
- 默认值: 2000
- 说明: 该配置项定义了插件和数据库服务器端每次批量数据获取条数,该值决定了DataX和服务器端的网络交互次数,能够较大的提升数据抽取性能。
配置模版
- 类型: 富文本
- 必须: 是
- 默认值: com.qlangtech.tis.plugin.datax.DataXSqlserverReader.getDftTemplate()
- 说明: 无特殊情况请不要修改模版内容,避免不必要的错误
批量写

- 配置项说明:
数据库名
- 类型: 单选
- 必须: 是
- 默认值: 无
- 说明: 无
preSql
类型: 富文本
必须: 否
默认值: 无
说明:
描述:写入数据到目的表前,会先执行这里的标准语句。如果 Sql 中有你需要操作到的表名称,请使用
@table
表示,这样在实际执行 Sql 语句时,会对变量按照实际表名称进行替换。比如你的任务是要写入到目的端的100个同构分表(表名称为:datax_00,datax01, ... datax_98,datax_99),并且你希望导入数据前,先对表中数据进行删除操作,那么你可以这样配置:"preSql":["delete from 表名"]
,效果是:在执行到每个表写入数据前,会先执行对应的 delete from 对应表名称
postSql
类型: 富文本
必须: 否
默认值: 无
说明:
写入数据到目的表后,会执行这里的标准语句。(原理同 preSql )
自动建表
类型: 单选
必须: 是
默认值: on
说明:
解析Reader的元数据,自动生成Writer create table DDL语句,有三种选择:
off
:关闭自动生成及同步目标端建表DDL语句,当目标端表实例已经存在可选择此选项。default
:打开动生成及自动执行目标端建表DDL语句,执行任务状态由程序自动控制毋需人为干涉。customized
:用户可自定义设置自动执行目标端建表DDL语句逻辑
,如:是否需要生成列注释等。
batchSize
类型: 整型数字
必须: 否
默认值: 1000
说明:
- 描述:一次性批量提交的记录数大小,该值可以极大减少DataX与Mysql的网络交互次数,并提升整体吞吐量。但是该值设置过大可能会造成DataX运行进程OOM情况。
配置模版
- 类型: 富文本
- 必须: 是
- 默认值: com.qlangtech.tis.plugin.datax.DataXSqlserverWriter.getDftTemplate()
- 说明: 无特殊情况请不要修改模版内容,避免不必要的错误
实时读

- 配置项说明:
起始位点
类型: 单行文本
必须: 是
默认值: LatestOffset
说明:
Initial
: Takes a snapshot of structure and data of captured tables; useful if topics should be populated with a complete representation of the data from the captured tables.Snapshot
: Takes a snapshot of structure and data like initial but instead does not transition into streaming changes once the snapshot has completed.LatestOffset
(default): Takes a snapshot of the structure of captured tables only; useful if only changes happening from now onwards should be propagated to topics.
所在时区
- 类型: 单选
- 必须: 是
- 默认值: com.qlangtech.tis.plugins.incr.flink.cdc.sqlserver.FlinkCDCSqlServerSourceFactory.dftZoneId()
- 说明: 设置MySQL服务端所在时区
BinLog独立监听
类型: 单选
必须: 是
默认值: false
说明:
执行Flink任务过程中,Binlog监听分配独立的Slot计算资源不会与下游计算算子混合在一起。
如开启,带来的好处是运算时资源各自独立不会相互相互影响,弊端是,上游算子与下游算子独立在两个Solt中需要额外的网络传输开销
实时写

- 配置项说明:
semantic
类型: 单选
必须: 是
默认值: at-least-once
说明:
描述: sink 端是否支持二阶段提交
注意: 如果此参数为空,默认不开启二阶段提交,即 sink 端不支持 exactly_once 语义; 当前只支持 exactly-once 和 at-least-once
脚本类型
类型: 单行文本
必须: 是
默认值: StreamAPI
说明:
TIS 为您自动生成 Flink Stream 脚本,现支持两种类型脚本:
SQL
: 优点逻辑清晰,便于用户自行修改执行逻辑Stream API
:优点基于系统更底层执行逻辑执行、轻量、高性能
batchSize
类型: 整型数字
必须: 是
默认值: 5000
说明:
描述:一次性批量提交的记录数大小,该值可以极大减少 ChunJun 与数据库的网络交互次数,并提升整体吞吐量。但是该值设置过大可能会造成 ChunJun 运行进程 OOM 情况
flushIntervalMills
- 类型: 整型数字
- 必须: 是
- 默认值: 10000
- 说明: "the flush interval mills, over this time, asynchronous threads will flush data. The default value is 10s.
parallelism
- 类型: 整型数字
- 必须: 是
- 默认值: 1
- 说明: sink 并行度