This is an automated email from the ASF dual-hosted git repository.
corgy pushed a commit to branch dev
in repository https://gitbox.apache.org/repos/asf/seatunnel.git
The following commit(s) were added to refs/heads/dev by this push:
new ca2aa185da [Fix][doc] Add missing closing braces in SqlServer-CDC
documentation (#10073)
ca2aa185da is described below
commit ca2aa185dafbbde83cf0501cf4324f13bac5ac30
Author: Steven Zhao <[email protected]>
AuthorDate: Fri Nov 21 16:16:16 2025 +0800
[Fix][doc] Add missing closing braces in SqlServer-CDC documentation
(#10073)
---
docs/en/connector-v2/source/SqlServer-CDC.md | 3 +
docs/zh/connector-v2/source/SqlServer-CDC.md | 236 +++++++++++++++++++++++
docs/zh/connector-v2/source/SqlServer.md | 272 +++++++++++++++++++++++++++
3 files changed, 511 insertions(+)
diff --git a/docs/en/connector-v2/source/SqlServer-CDC.md
b/docs/en/connector-v2/source/SqlServer-CDC.md
index 47d72a4bf2..b6913e107b 100644
--- a/docs/en/connector-v2/source/SqlServer-CDC.md
+++ b/docs/en/connector-v2/source/SqlServer-CDC.md
@@ -160,6 +160,7 @@ sink {
console {
plugin_input = "customers"
}
+}
```
### increment read Simple
@@ -196,6 +197,7 @@ sink {
console {
plugin_input = "customers"
}
+}
```
### Support custom primary key for table
@@ -227,6 +229,7 @@ source {
sink {
console {
}
+}
```
## Changelog
diff --git a/docs/zh/connector-v2/source/SqlServer-CDC.md
b/docs/zh/connector-v2/source/SqlServer-CDC.md
new file mode 100644
index 0000000000..781d66fa62
--- /dev/null
+++ b/docs/zh/connector-v2/source/SqlServer-CDC.md
@@ -0,0 +1,236 @@
+import ChangeLog from '../changelog/connector-cdc-sqlserver.md';
+
+# SQL Server CDC
+
+> Sql Server CDC 源连接器
+
+## 支持 SQL Server 版本
+
+- server:2019(或更高版本,仅供参考)
+
+## 支持的引擎
+
+> SeaTunnel Zeta<br/>
+> Flink <br/>
+
+## 主要功能
+
+- [ ] [批处理](../../concept/connector-v2-features.md)
+- [x] [流处理](../../concept/connector-v2-features.md)
+- [x] [精确一次](../../concept/connector-v2-features.md)
+- [ ] [列投影](../../concept/connector-v2-features.md)
+- [x] [并行度](../../concept/connector-v2-features.md)
+- [x] [支持用户定义分割](../../concept/connector-v2-features.md)
+
+## 描述
+
+Sql Server CDC 连接器允许从 SqlServer 数据库读取快照数据和增量数据。本文档描述了如何设置 Sql Server CDC 连接器来对
SqlServer 数据库运行 SQL 查询。
+
+## 支持的数据源信息
+
+| 数据源 | 支持版本 | 驱动
| Url
| Maven |
+| --------- | --------------------------------------------- |
-------------------------------------------- |
------------------------------------------------------------- |
--------------------------------------------------------------------- |
+| SqlServer | <li> server:2019(或更高版本,仅供参考)</li> |
com.microsoft.sqlserver.jdbc.SQLServerDriver |
jdbc:sqlserver://localhost:1433;databaseName=column_type_test |
https://mvnrepository.com/artifact/com.microsoft.sqlserver/mssql-jdbc |
+
+## 需要的依赖项
+
+### 安装 Jdbc 驱动
+
+#### 对于 Spark/Flink 引擎
+
+> 1. 你需要确保 [jdbc 驱动 jar
包](https://mvnrepository.com/artifact/com.microsoft.sqlserver/mssql-jdbc) 已经放置在
`${SEATUNNEL_HOME}/plugins/` 目录中。
+
+#### 对于 SeaTunnel Zeta 引擎
+
+> 1. 你需要确保 [jdbc 驱动 jar
包](https://mvnrepository.com/artifact/com.microsoft.sqlserver/mssql-jdbc) 已经放置在
`${SEATUNNEL_HOME}/lib/` 目录中。
+
+## 数据类型映射
+
+| SQLserver 数据类型 | SeaTunnel
数据类型 |
+|----------------------------------------------------------------------|---------------------|
+| CHAR<br/>VARCHAR<br/>NCHAR<br/>NVARCHAR<br/>TEXT<br/>NTEXT<br/>XML |
STRING |
+| BINARY<br/>VARBINARY<br/>IMAGE | BYTES
|
+| INTEGER<br/>INT | INT
|
+| SMALLINT<br/>TINYINT |
SMALLINT |
+| BIGINT |
BIGINT |
+| FLOAT(1~24)<br/>REAL | FLOAT
|
+| DOUBLE<br/>FLOAT(>24) |
DOUBLE |
+| NUMERIC(p,s)<br/>DECIMAL(p,s)<br/>MONEY<br/>SMALLMONEY |
DECIMAL(p, s) |
+| TIMESTAMP | BYTES
|
+| DATE | DATE
|
+| TIME(s) |
TIME(s) |
+| DATETIME(s)<br/>DATETIME2(s)<br/>DATETIMEOFFSET(s)<br/>SMALLDATETIME |
TIMESTAMP(s) |
+| BOOLEAN<br/>BIT<br/> |
BOOLEAN |
+
+## 数据源参数
+
+| 名称 | 类型 | 是否必填 | 默认值 | 描述
|
+| ---------------------------------------------- | -------- | -------- |
------- |
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
+| username | String | 是 | -
| 连接数据库服务器时使用的数据库名称。
|
+| password | String | 是 | -
| 连接数据库服务器时使用的密码。
|
+| database-names | List | 是 | -
| 要监控的数据库名称。
|
+| table-names | List | 是 | -
| 表名是模式名和表名的组合 (databaseName.schemaName.tableName)。
|
+| table-names-config | List | 否 | -
| 表配置列表。例如:[{"table": "db1.schema1.table1","primaryKeys":
["key1"],"snapshotSplitColumn": "key2"}]
|
+| url | String | 是 | -
| URL 必须包含数据库,如 "jdbc:sqlserver://localhost:1433;databaseName=test"。
|
+| startup.mode | Enum | 否 |
INITIAL | SqlServer CDC 消费者的可选启动模式,有效枚举为 "initial"、"earliest"、"latest" 和
"specific"。
|
+| startup.timestamp | Long | 否 | -
| 从指定的纪元时间戳(以毫秒为单位)开始。<br/> **注意,当 "startup.mode" 选项使用 `'timestamp'`
时,此选项是必需的。**
|
+| startup.specific-offset.file | String | 否 | -
| 从指定的 binlog 文件名开始。<br/>**注意,当 "startup.mode" 选项使用 `'specific'` 时,此选项是必需的。**
|
+| startup.specific-offset.pos | Long | 否 | -
| 从指定的 binlog 文件位置开始。<br/>**注意,当 "startup.mode" 选项使用 `'specific'` 时,此选项是必需的。**
|
+| stop.mode | Enum | 否 | NEVER
| SqlServer CDC 消费者的可选停止模式,有效枚举为 "never"。
|
+| stop.timestamp | Long | 否 | -
| 在指定的纪元时间戳(以毫秒为单位)停止。<br/>**注意,当 "stop.mode" 选项使用 `'timestamp'` 时,此选项是必需的。**
|
+| stop.specific-offset.file | String | 否 | -
| 在指定的 binlog 文件名停止。<br/>**注意,当 "stop.mode" 选项使用 `'specific'` 时,此选项是必需的。**
|
+| stop.specific-offset.pos | Long | 否 | -
| 在指定的 binlog 文件位置停止。<br/>**注意,当 "stop.mode" 选项使用 `'specific'` 时,此选项是必需的。**
|
+| incremental.parallelism | Integer | 否 | 1
| 增量阶段中并行读取器的数量。
|
+| snapshot.split.size | Integer | 否 | 8096
| 表快照的分割大小(行数),读取表快照时,捕获的表会被分割为多个分割。
|
+| snapshot.fetch.size | Integer | 否 | 1024
| 读取表快照时每次轮询的最大获取大小。
|
+| server-time-zone | String | 否 | UTC
| 数据库服务器中的会话时区。
|
+| connect.timeout | Duration | 否 | 30s
| 连接器尝试连接到数据库服务器后在超时之前应该等待的最长时间。
|
+| connect.max-retries | Integer | 否 | 3
| 连接器应该重试建立数据库服务器连接的最大重试次数。
|
+| connection.pool.size | Integer | 否 | 20
| 连接池大小。
|
+| chunk-key.even-distribution.factor.upper-bound | Double | 否 | 100
| 分块键分布因子的上界。此因子用于确定表数据是否均匀分布。如果计算的分布因子小于或等于此上界(即,(MAX(id) - MIN(id) + 1) /
行数),表分块将被优化以实现均匀分布。否则,如果分布因子较大,如果估计的分片数超过 `sample-sharding.threshold`
指定的值,表将被视为不均匀分布并使用基于采样的分片策略。默认值为 100.0。 |
+| chunk-key.even-distribution.factor.lower-bound | Double | 否 | 0.05
| 分块键分布因子的下界。此因子用于确定表数据是否均匀分布。如果计算的分布因子大于或等于此下界(即,(MAX(id) - MIN(id) + 1) /
行数),表分块将被优化以实现均匀分布。否则,如果分布因子较小,如果估计的分片数超过 `sample-sharding.threshold`
指定的值,表将被视为不均匀分布并使用基于采样的分片策略。默认值为 0.05。 |
+| sample-sharding.threshold | int | 否 | 1000
| 此配置指定了触发采样分片策略的估计分片数阈值。当分布因子超出
`chunk-key.even-distribution.factor.upper-bound` 和
`chunk-key.even-distribution.factor.lower-bound` 指定的范围,并且估计的分片数(计算为近似行数 /
分块大小)超过此阈值时,将使用采样分片策略。这可以帮助更有效地处理大型数据集。默认值为 1000 分片。 |
+| inverse-sampling.rate | int | 否 | 1000
| 采样分片策略中使用的采样率的倒数。例如,如果此值设置为 1000,则意味着在采样过程中应用 1/1000
的采样率。此选项提供了控制采样粒度的灵活性,从而影响最终的分片数量。对于非常大的数据集,首选较低的采样率时,此选项特别有用。默认值为 1000。
|
+| exactly_once | Boolean | 否 | false
| 启用精确一次语义。
|
+| debezium.* | config | 否 | -
| 将 Debezium 的属性传递给 Debezium Embedded Engine,用于捕获来自 SqlServer
服务器的数据变更。<br/>了解更多关于<br/>[Debezium 的 SqlServer
连接器属性](https://github.com/debezium/debezium/blob/1.6/documentation/modules/ROOT/pages/connectors/sqlserver.adoc#connector-properties)
|
+| format | Enum | 否 |
DEFAULT | SqlServer CDC 的可选输出格式,有效枚举为 "DEFAULT"、"COMPATIBLE_DEBEZIUM_JSON"。
|
+| common-options | | 否 | -
| 源插件通用参数,请参考 [源通用选项](../source-common-options.md) 获取详细信息。
|
+
+### 启用 Sql Server CDC
+
+1. 检查 CDC 代理是否启用
+
+> `EXEC xp_servicecontrol N'querystate', N'SQLServerAGENT';` <br/>
+> 如果结果是运行中,证明它已经启用。否则,您需要手动启用它
+
+2. 启用 CDC 代理
+
+> /opt/mssql/bin/mssql-conf setup
+
+3. 结果如下
+
+> 1) 评估版(免费,无生产使用权,180天限制)
+> 2) 开发者版(免费,无生产使用权)
+> 3) 快速版(免费)
+> 4) Web 版(付费)
+> 5) 标准版(付费)
+> 6) 企业版(付费)
+> 7) 企业核心版(付费)
+> 8) 我通过零售销售渠道购买了许可证,并有产品密钥要输入。
+
+4. 在数据库级别设置 CDC
+ 在下面的数据库级别设置以启用 CDC。在此级别,启用 CDC 的数据库下的所有表都会自动启用 CDC
+
+> USE TestDB; -- 替换为实际的数据库名称 <br/>
+> EXEC sys.sp_cdc_enable_db;<br/>
+> SELECT name, is_tracked_by_cdc FROM sys.tables WHERE name = 'table'; --
table 替换为您要检查的表名
+
+## 任务示例
+
+### 初始读取简单示例
+
+> 这是一个流模式 CDC,初始化读取表数据,成功读取后将进行增量读取。以下 SQL DDL 仅供参考
+
+```
+env {
+ # 您可以在这里设置引擎配置
+ parallelism = 1
+ job.mode = "STREAMING"
+ checkpoint.interval = 5000
+}
+
+source {
+ # 这是一个示例源插件 **仅用于测试和演示源插件功能**
+ SqlServer-CDC {
+ plugin_output = "customers"
+ username = "sa"
+ password = "Y.sa123456"
+ startup.mode="initial"
+ database-names = ["column_type_test"]
+ table-names = ["column_type_test.dbo.full_types"]
+ url = "jdbc:sqlserver://localhost:1433;databaseName=column_type_test"
+ }
+}
+
+transform {
+}
+
+sink {
+ console {
+ plugin_input = "customers"
+ }
+}
+```
+
+### 增量读取简单示例
+
+> 这是一个增量读取,读取变更的数据进行打印
+
+```
+env {
+ # 您可以在这里设置引擎配置
+ parallelism = 1
+ job.mode = "STREAMING"
+ checkpoint.interval = 5000
+}
+
+source {
+ # 这是一个示例源插件 **仅用于测试和演示源插件功能**
+ SqlServer-CDC {
+ # 设置精确一次读取
+ exactly_once=true
+ plugin_output = "customers"
+ username = "sa"
+ password = "Y.sa123456"
+ startup.mode="latest"
+ database-names = ["column_type_test"]
+ table-names = ["column_type_test.dbo.full_types"]
+ url = "jdbc:sqlserver://localhost:1433;databaseName=column_type_test"
+ }
+}
+
+transform {
+}
+
+sink {
+ console {
+ plugin_input = "customers"
+ }
+}
+```
+
+### 支持表的自定义主键
+
+```
+env {
+ parallelism = 1
+ job.mode = "STREAMING"
+ checkpoint.interval = 5000
+}
+
+source {
+ SqlServer-CDC {
+ url = "jdbc:sqlserver://localhost:1433;databaseName=column_type_test"
+ username = "sa"
+ password = "Y.sa123456"
+ database-names = ["column_type_test"]
+
+ table-names = ["column_type_test.dbo.simple_types",
"column_type_test.dbo.full_types"]
+ table-names-config = [
+ {
+ table = "column_type_test.dbo.full_types"
+ primaryKeys = ["id"]
+ }
+ ]
+ }
+}
+
+sink {
+ console {
+ }
+}
+```
+
+## 变更日志
+
+<ChangeLog />
\ No newline at end of file
diff --git a/docs/zh/connector-v2/source/SqlServer.md
b/docs/zh/connector-v2/source/SqlServer.md
new file mode 100644
index 0000000000..ffce89f942
--- /dev/null
+++ b/docs/zh/connector-v2/source/SqlServer.md
@@ -0,0 +1,272 @@
+import ChangeLog from '../changelog/connector-jdbc.md';
+
+# SQL Server
+
+> JDBC SQL Server 源连接器
+
+## 支持 SQL Server 版本
+
+- server:2008(或更高版本,仅供参考)
+
+## 支持的引擎
+
+> Spark <br/>
+> Flink <br/>
+> Seatunnel Zeta <br/>
+
+## 需要的依赖项
+
+### 对于 Spark/Flink 引擎
+
+> 1. 你需要确保 [jdbc 驱动 jar
包](https://mvnrepository.com/artifact/com.microsoft.sqlserver/mssql-jdbc) 已经放置在
`${SEATUNNEL_HOME}/plugins/` 目录中。
+
+### 对于 SeaTunnel Zeta 引擎
+
+> 1. 你需要确保 [jdbc 驱动 jar
包](https://mvnrepository.com/artifact/com.microsoft.sqlserver/mssql-jdbc) 已经放置在
`${SEATUNNEL_HOME}/lib/` 目录中。
+
+## 主要功能
+
+- [x] [批处理](../../concept/connector-v2-features.md)
+- [ ] [流处理](../../concept/connector-v2-features.md)
+- [x] [精确一次](../../concept/connector-v2-features.md)
+- [x] [列投影](../../concept/connector-v2-features.md)
+- [x] [并行度](../../concept/connector-v2-features.md)
+- [x] [支持用户定义分割](../../concept/connector-v2-features.md)
+
+> 支持查询 SQL 并可以实现投影效果。
+
+## 描述
+
+通过 JDBC 读取外部数据源数据。
+
+## 支持的数据源信息
+
+| 数据源 | 支持版本 | 驱动 |
url | maven
|
+|------------|-------------------------|----------------------------------------------|---------------------------------|-----------------------------------------------------------------------------------|
+| SQL Server | 支持版本 >= 2008 |
com.microsoft.sqlserver.jdbc.SQLServerDriver | jdbc:sqlserver://localhost:1433
| [下载](https://mvnrepository.com/artifact/com.microsoft.sqlserver/mssql-jdbc) |
+
+## 数据库依赖
+
+> 请下载对应 'Maven' 的支持列表,并将其复制到 '$SEATUNNEL_HOME/plugins/jdbc/lib/' 工作目录<br/>
+> 例如 SQL Server 数据源:cp mssql-jdbc-xxx.jar $SEATUNNEL_HOME/plugins/jdbc/lib/
+
+## 数据类型映射
+
+| SQLserver 数据类型 | Seatunnel
数据类型 |
+|----------------------------------------------------------------------|---------------------|
+| BIT |
BOOLEAN |
+| TINYINT<br/>SMALLINT |
SMALLINT |
+| INTEGER<br/>INT | INT
|
+| BIGINT |
BIGINT |
+| NUMERIC(p,s)<br/>DECIMAL(p,s)<br/>MONEY<br/>SMALLMONEY |
DECIMAL(p,s) |
+| FLOAT(1~24)<br/>REAL | FLOAT
|
+| DOUBLE<br/>FLOAT(>24) |
DOUBLE |
+| CHAR<br/>NCHAR<br/>VARCHAR<br/>NTEXT<br/>NVARCHAR<br/>TEXT<br/>XML |
STRING |
+| DATE | DATE
|
+| TIME(s) |
TIME(s) |
+| DATETIME(s)<br/>DATETIME2(s)<br/>DATETIMEOFFSET(s)<br/>SMALLDATETIME |
TIMESTAMP(s) |
+| BINARY<br/>VARBINARY<br/>IMAGE | BYTES
|
+
+## 数据源参数
+
+| 名称 | 类型 | 是否必填 | 默认值 | 描述
|
+| ------------------------------------------ | ------- | -------- |
--------------- |
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
+| url | String | 是 | -
| JDBC 连接的 URL。参见示例:jdbc:sqlserver://127.0.0.1:1434;database=TestDB
|
+| driver | String | 是 | -
| 用于连接远程数据源的 jdbc 类名,<br/>如果使用 SQLserver,值为
`com.microsoft.sqlserver.jdbc.SQLServerDriver`。
|
+| username | String | 否 | -
| 连接实例的用户名
|
+| password | String | 否 | -
| 连接实例的密码
|
+| query | String | 是 | -
| 查询语句
|
+| connection_check_timeout_sec | Int | 否 | 30
| 等待用于验证连接的数据库操作完成的时间(秒)
|
+| partition_column | String | 否 | -
| 用于并行度分区的列名,仅支持数值类型。
|
+| partition_lower_bound | Long | 否 | -
| partition_column 扫描的最小值,如果未设置,SeaTunnel 将查询数据库获取最小值。
|
+| partition_upper_bound | Long | 否 | -
| partition_column 扫描的最大值,如果未设置,SeaTunnel 将查询数据库获取最大值。
|
+| partition_num | Int | 否 | job
parallelism | 分区数量,仅支持正整数。默认值为作业并行度
|
+| fetch_size | Int | 否 | 0
|
对于返回大量对象的查询,你可以配置<br/>查询中使用的行获取大小来提高性能,<br/>通过减少满足选择条件所需的数据库命中次数。<br/>零表示使用
jdbc 默认值。
|
+| properties | Map | 否 | -
| 额外的连接配置参数,当 properties 和 URL 具有相同参数时,优先级由<br/>驱动的具体实现决定。例如,在 MySQL
中,properties 优先于 URL。
|
+| use_regex | Boolean | 否 | false
| 控制 table_path 的正则表达式匹配。当设置为 `true` 时,table_path 将被视为正则表达式模式。当设置为 `false`
或未指定时,table_path 将被视为精确路径(不进行正则匹配)。
|
+| table_path | String | 否 | -
| 表的完整路径,您可以使用此配置代替 `query`。<br/>示例:<br/>mysql: "testdb.table1"<br/>oracle:
"test_schema.table1"<br/>sqlserver: "testdb.test_schema.table1"<br/>postgresql:
"testdb.test_schema.table1"
|
+| table_list | Array | 否 | -
| 要读取的表列表,您可以使用此配置代替 `table_path`。示例:```[{ table_path = "testdb.table1"},
{table_path = "testdb.table2", query = "select * id, name from
testdb.table2"}]```
|
+| where_condition | String | 否 | -
| 所有表/查询的通用行过滤条件,必须以 `where` 开头。例如 `where id > 100`
|
+| split.size | Int | 否 | 8096
| 表的分割大小(行数),读取表时,捕获的表会被分割为多个分割。
|
+| split.even-distribution.factor.lower-bound | Double | 否 | 0.05
| 分块键分布因子的下界。此因子用于确定表数据是否均匀分布。如果计算的分布因子大于或等于此下界(即,(MAX(id) - MIN(id) + 1) /
行数),表分块将被优化以实现均匀分布。否则,如果分布因子较小,如果估计的分片数超过 `sample-sharding.threshold`
指定的值,表将被视为不均匀分布并使用基于采样的分片策略。默认值为 0.05。 |
+| split.even-distribution.factor.upper-bound | Double | 否 | 100
| 分块键分布因子的上界。此因子用于确定表数据是否均匀分布。如果计算的分布因子小于或等于此上界(即,(MAX(id) - MIN(id) + 1) /
行数),表分块将被优化以实现均匀分布。否则,如果分布因子较大,如果估计的分片数超过 `sample-sharding.threshold`
指定的值,表将被视为不均匀分布并使用基于采样的分片策略。默认值为 100.0。 |
+| split.sample-sharding.threshold | Int | 否 | 10000
| 此配置指定了触发采样分片策略的估计分片数阈值。当分布因子超出
`chunk-key.even-distribution.factor.upper-bound` 和
`chunk-key.even-distribution.factor.lower-bound` 指定的范围,并且估计的分片数(计算为近似行数 /
分块大小)超过此阈值时,将使用采样分片策略。这可以帮助更有效地处理大型数据集。默认值为 1000 分片。 |
+| split.inverse-sampling.rate | Int | 否 | 1000
| 采样分片策略中使用的采样率的倒数。例如,如果此值设置为 1000,则意味着在采样过程中应用 1/1000
的采样率。此选项提供了控制采样粒度的灵活性,从而影响最终的分片数量。对于非常大的数据集,首选较低的采样率时,此选项特别有用。默认值为 1000。
|
+| common-options | | 否 | -
| 源插件通用参数,请参考 [源通用选项](../source-common-options.md) 获取详细信息
|
+
+## 并行读取器
+
+JDBC 源连接器支持从表中并行读取数据。SeaTunnel 将使用某些规则来分割表中的数据,然后将其交给读取器进行读取。读取器的数量由
`parallelism` 选项决定。
+
+**分割键规则:**
+
+1. 如果 `partition_column` 不为空,将使用它来计算分割。该列必须在 **支持的分割数据类型** 中。
+2. 如果 `partition_column` 为空,seatunnel 将从表中读取模式并获取主键和唯一索引。如果主键和唯一索引中有多个列,则将使用
**支持的分割数据类型** 中的第一列来分割数据。例如,表具有主键(nn guid, name varchar),因为 `guid` 不在
**支持的分割数据类型** 中,所以将使用 `name` 列来分割数据。
+
+**支持的分割数据类型:**
+* String
+* Number(int, bigint, decimal, ...)
+* Date
+
+### 与分割相关的选项
+
+#### split.size
+
+一个分割中有多少行,读取表时,捕获的表会被分割为多个分割。
+
+#### split.even-distribution.factor.lower-bound
+
+> 不推荐使用
+
+分块键分布因子的下界。此因子用于确定表数据是否均匀分布。如果计算的分布因子大于或等于此下界(即,(MAX(id) - MIN(id) + 1) /
行数),表分块将被优化以实现均匀分布。否则,如果分布因子较小,如果估计的分片数超过 `sample-sharding.threshold`
指定的值,表将被视为不均匀分布并使用基于采样的分片策略。默认值为 0.05。
+
+#### split.even-distribution.factor.upper-bound
+
+> 不推荐使用
+
+分块键分布因子的上界。此因子用于确定表数据是否均匀分布。如果计算的分布因子小于或等于此上界(即,(MAX(id) - MIN(id) + 1) /
行数),表分块将被优化以实现均匀分布。否则,如果分布因子较大,如果估计的分片数超过 `sample-sharding.threshold`
指定的值,表将被视为不均匀分布并使用基于采样的分片策略。默认值为 100.0。
+
+#### split.sample-sharding.threshold
+
+此配置指定了触发采样分片策略的估计分片数阈值。当分布因子超出
`chunk-key.even-distribution.factor.upper-bound` 和
`chunk-key.even-distribution.factor.lower-bound` 指定的范围,并且估计的分片数(计算为近似行数 /
分块大小)超过此阈值时,将使用采样分片策略。这可以帮助更有效地处理大型数据集。默认值为 1000 分片。
+
+#### split.inverse-sampling.rate
+
+采样分片策略中使用的采样率的倒数。例如,如果此值设置为 1000,则意味着在采样过程中应用 1/1000
的采样率。此选项提供了控制采样粒度的灵活性,从而影响最终的分片数量。对于非常大的数据集,首选较低的采样率时,此选项特别有用。默认值为 1000。
+
+#### partition_column [string]
+
+用于分割数据的列名。
+
+#### partition_upper_bound [BigDecimal]
+
+partition_column 扫描的最大值,如果未设置,SeaTunnel 将查询数据库获取最大值。
+
+#### partition_lower_bound [BigDecimal]
+
+partition_column 扫描的最小值,如果未设置,SeaTunnel 将查询数据库获取最小值。
+
+#### partition_num [int]
+
+> 不推荐使用,正确的方法是通过 `split.size` 控制分割数量
+
+我们需要分割为多少个分割,仅支持正整数。默认值为作业并行度。
+
+## 提示
+
+> 如果表无法分割(例如,表没有主键或唯一索引,且未设置 `partition_column`),将以单个并发运行。
+>
+> 使用 `table_path` 替代 `query` 进行单表读取。如果需要读取多个表,请使用 `table_list`。
+
+## 任务示例
+
+### 简单的例子
+
+> 读取数据表的简单单个任务
+
+```
+# 定义运行时环境
+env {
+ parallelism = 1
+ job.mode = "BATCH"
+}
+source{
+ Jdbc {
+ driver = com.microsoft.sqlserver.jdbc.SQLServerDriver
+ url = "jdbc:sqlserver://localhost:1433;databaseName=column_type_test"
+ username = SA
+ password = "Y.sa123456"
+ query = "select * from full_types_jdbc"
+ }
+}
+
+transform {
+ # 如果你想了解更多关于如何配置 seatunnel 的信息,并查看转换插件的完整列表,
+ # 请前往 https://seatunnel.apache.org/docs/transform-v2/sql
+}
+
+sink {
+ Console {}
+}
+```
+
+### 并行示例
+
+> 使用您配置的分片字段并行读取查询表和分片数据。如果您想读取整个表,可以这样做
+
+```
+env {
+ parallelism = 10
+ job.mode = "BATCH"
+}
+
+source {
+ Jdbc {
+ driver = com.microsoft.sqlserver.jdbc.SQLServerDriver
+ url = "jdbc:sqlserver://localhost:1433;databaseName=column_type_test"
+ username = SA
+ password = "Y.sa123456"
+ # 根据需要定义查询逻辑
+ query = "select * from full_types_jdbc"
+ # 并行分片读取字段
+ partition_column = "id"
+ # 分片数量
+ partition_num = 10
+ }
+}
+
+transform {
+ # If you would like to get more information about how to configure
seatunnel and see full list of transform plugins,
+ # please go to https://seatunnel.apache.org/docs/transform-v2/sql
+}
+
+sink {
+ Console {}
+}
+
+```
+
+### 分片并行读取简单示例
+
+> 这是一个快速并行读取数据的分片
+
+```
+env {
+ # 您可以在这里设置引擎配置
+ parallelism = 10
+}
+
+source {
+ # 这是一个示例源插件 **仅用于测试和演示源插件功能**
+ Jdbc {
+ driver = com.microsoft.sqlserver.jdbc.SQLServerDriver
+ url = "jdbc:sqlserver://localhost:1433;databaseName=column_type_test"
+ username = SA
+ password = "Y.sa123456"
+ query = "select * from column_type_test.dbo.full_types_jdbc"
+ # 并行分片读取字段
+ partition_column = "id"
+ # 分片数量
+ partition_num = 10
+
+ }
+ # 如果你想了解更多关于如何配置 seatunnel 的信息,并查看源插件的完整列表,
+ # 请前往 https://seatunnel.apache.org/docs/connector-v2/source/Jdbc
+}
+
+
+transform {
+ # 如果你想了解更多关于如何配置 seatunnel 的信息,并查看转换插件的完整列表,
+ # 请前往 https://seatunnel.apache.org/docs/transform-v2/sql
+}
+
+sink {
+ Console {}
+ # 如果你想了解更多关于如何配置 seatunnel 的信息,并查看汇插件的完整列表,
+ # 请前往 https://seatunnel.apache.org/docs/connector-v2/sink/Jdbc
+}
+```
+
+## 变更日志
+
+<ChangeLog />
\ No newline at end of file