Copilot commented on code in PR #3291:
URL: https://github.com/apache/doris-website/pull/3291#discussion_r2715149501


##########
i18n/zh-CN/docusaurus-plugin-content-docs/version-4.x/sql-manual/sql-statements/job/CREATE-STREAMING-JOB.md:
##########
@@ -2,23 +2,40 @@
 {
     "title": "CREATE STREAMING JOB",
     "language": "zh-CN",
-    "description": "Doris Streaming Job 是基于 Job + TVF 的方式,创建一个持续导入任务。在提交 Job 
作业后,Doris 会持续运行该导入作业,实时的查询 TVF 中的数据写入到 Doris 表中。"
+    "description": "Doris Streaming Job 是基于 Job 的方式,创建一个持续导入任务。在提交 Job 
作业后,Doris 会持续运行该导入作业,实时的查询 TVF 或上游数据源中的数据写入到 Doris 表中。"
 }
 ---
 
 ## 描述
 
-Doris Streaming Job 是基于 Job + TVF 的方式,创建一个持续导入任务。在提交 Job 作业后,Doris 
会持续运行该导入作业,实时的查询 TVF 中的数据写入到 Doris 表中。
+Doris Streaming Job 是基于 Job 的方式,创建一个持续导入任务。在提交 Job 作业后,Doris 会持续运行该导入作业,实时的查询 
TVF 或上游数据源中的数据写入到 Doris 表中。。

Review Comment:
   There is a double period at the end of this sentence. The sentence ends with 
"。。" (two periods) instead of "。" (one period).
   ```suggestion
   Doris Streaming Job 是基于 Job 的方式,创建一个持续导入任务。在提交 Job 作业后,Doris 
会持续运行该导入作业,实时的查询 TVF 或上游数据源中的数据写入到 Doris 表中。
   ```



##########
i18n/zh-CN/docusaurus-plugin-content-docs/version-4.x/sql-manual/sql-statements/job/CREATE-STREAMING-JOB.md:
##########
@@ -75,6 +118,47 @@ DO <Insert_Command>
     );
     ```
 
+- 创建一个名为 my_job 的作业,从头开始同步 MySQL 上游的 user_info,order_info 表的数据,到 
target_test_db 库下面。
+
+    ```sql
+    CREATE JOB multi_table_sync
+    ON STREAMING
+    FROM MYSQL (
+            "jdbc_url" = "jdbc:mysql://127.0.0.1:3306",
+            "driver_url" = "mysql-connector-j-8.0.31.jar",
+            "driver_class" = "com.mysql.cj.jdbc.Driver",
+            "user" = "root",
+            "password" = "123456",
+            "database" = "test",
+            "include_tables" = "user_info,order_info",
+            "offset" = "initial"
+    )
+    TO DATABASE target_test_db (
+        "table.create.properties.replication_num" = "1"
+    )
+    ```
+
+- 创建一个名为 my_job 的作业,持续同步 Postgrees 上游的 test_tbls 表的增量的数据,到 target_test_db 库下面。

Review Comment:
   The spelling of "Postgres" is inconsistent. Earlier in the document (line 
141), it's spelled as "Postgrees" (with an extra 'e'), which is incorrect. It 
should be "Postgres" throughout.
   ```suggestion
   - 创建一个名为 my_job 的作业,持续同步 Postgres 上游的 test_tbls 表的增量的数据,到 target_test_db 库下面。
   ```



##########
i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/job/CREATE-STREAMING-JOB.md:
##########
@@ -2,23 +2,40 @@
 {
     "title": "CREATE STREAMING JOB",
     "language": "zh-CN",
-    "description": "Doris Streaming Job 是基于 Job + TVF 的方式,创建一个持续导入任务。在提交 Job 
作业后,Doris 会持续运行该导入作业,实时的查询 TVF 中的数据写入到 Doris 表中。"
+    "description": "Doris Streaming Job 是基于 Job 的方式,创建一个持续导入任务。在提交 Job 
作业后,Doris 会持续运行该导入作业,实时的查询 TVF 或上游数据源中的数据写入到 Doris 表中。"
 }
 ---
 
 ## 描述
 
-Doris Streaming Job 是基于 Job + TVF 的方式,创建一个持续导入任务。在提交 Job 作业后,Doris 
会持续运行该导入作业,实时的查询 TVF 中的数据写入到 Doris 表中。
+Doris Streaming Job 是基于 Job 的方式,创建一个持续导入任务。在提交 Job 作业后,Doris 会持续运行该导入作业,实时的查询 
TVF 或上游数据源中的数据写入到 Doris 表中。。

Review Comment:
   There is a double period at the end of this sentence. The sentence ends with 
"。。" (two periods) instead of "。" (one period).
   ```suggestion
   Doris Streaming Job 是基于 Job 的方式,创建一个持续导入任务。在提交 Job 作业后,Doris 
会持续运行该导入作业,实时的查询 TVF 或上游数据源中的数据写入到 Doris 表中。
   ```



##########
i18n/zh-CN/docusaurus-plugin-content-docs/current/data-operate/import/streaming-job/streaming-job-multi-table.md:
##########
@@ -0,0 +1,293 @@
+---
+{
+        "title": "多表持续导入",
+        "language": "zh-CN",
+        "description": "Doris 可以通过 Streaming Job 的方式,将 MySQL、Postgres 
等多张表的全量和增量数据持续同步到 Doris 中。"
+}
+---
+
+## 概述
+
+支持通过 Job 将 MySQL、Postgres 等数据库的多张表的全量和增量数据,通过 Stream Load 的方式持续同步到 Doris 
中。适用于需要实时同步多表数据到 Doris 的场景。
+
+## 支持的数据源
+
+- MySQL
+- Postgres
+
+## 基本原理
+
+通过集成 [Flink CDC](https://github.com/apache/flink-cdc) 能力,Doris 支持从 
MySQL、Postgres 等数据库读取变更日志,实现多表的全量和增量数据同步。首次同步时会自动创建 Doris 下游表(主键表),并保持主键与上游一致。
+
+**注意事项:**
+
+1. 目前只能保证 at-least-once 语义。
+2. 目前只支持主键表同步。
+3. 需要 Load 权限,若下游表不存在还需有 Create 权限。
+
+## 快速上手
+
+### 前提条件
+
+#### MySQL 
+需要在 MySQL 端开启 Binlog,即 my.cnf 配置文件中增加:
+```ini
+log-bin=mysql-bin
+binlog_format=ROW
+server-id=1
+```
+
+#### Postgres
+需要在 Postgres 端配置逻辑复制,即 postgresql.conf 增加:
+```ini
+wal_level=logical
+```
+
+### 创建导入作业
+
+#### MySQL
+
+```sql
+CREATE JOB multi_table_sync
+ON STREAMING
+FROM MYSQL (
+        "jdbc_url" = "jdbc:mysql://127.0.0.1:3306",
+        "driver_url" = "mysql-connector-j-8.0.31.jar",
+        "driver_class" = "com.mysql.cj.jdbc.Driver",
+        "user" = "root",
+        "password" = "123456",
+        "database" = "test",
+        "include_tables" = "user_info,order_info",
+        "offset" = "initial"
+)
+TO DATABASE target_test_db (
+    "table.create.properties.replication_num" = "1"
+)
+```
+
+#### Postgres
+
+```sql
+CREATE JOB test_postgres_job
+ON STREAMING
+FROM POSTGRES (
+    "jdbc_url" = "jdbc:postgresql://127.0.0.1:5432/postgres",
+    "driver_url" = "postgresql-42.5.0.jar",
+    "driver_class" = "org.postgresql.Driver",
+    "user" = "postgres",
+    "password" = "postgres",
+    "database" = "postgres",
+    "schema" = "public",
+    "include_tables" = "test_tbls", 
+    "offset" = "latest"
+)
+TO DATABASE target_test_db (
+  "table.create.properties.replication_num" = "1"
+)
+```
+
+### 查看导入状态
+
+```sql
+select * from jobs(type=insert) where ExecuteType = "STREAMING"
+             Id: 1765332859199
+             Name: mysql_db_sync
+          Definer: root
+      ExecuteType: STREAMING
+RecurringStrategy: \N
+           Status: RUNNING
+       ExecuteSql: FROM 
MYSQL('include_tables'='user_info','database'='test','driver_class'='com.mysql.cj.jdbc.Driver','driver_url'='mysql-connector-j-8.0.31.jar','offset'='initial','jdbc_url'='jdbc:mysql://127.0.0.1:3306','user'='root'
 ) TO DATABSE target_test_db ('table.create.properties.replication_num'='1')

Review Comment:
   The word "DATABASE" is misspelled as "DATABSE" (missing the 'A'). This 
appears in the ExecuteSql output example.
   ```suggestion
          ExecuteSql: FROM 
MYSQL('include_tables'='user_info','database'='test','driver_class'='com.mysql.cj.jdbc.Driver','driver_url'='mysql-connector-j-8.0.31.jar','offset'='initial','jdbc_url'='jdbc:mysql://127.0.0.1:3306','user'='root'
 ) TO DATABASE target_test_db ('table.create.properties.replication_num'='1')
   ```



##########
i18n/zh-CN/docusaurus-plugin-content-docs/version-4.x/data-operate/import/streaming-job/streaming-job-multi-table.md:
##########
@@ -0,0 +1,293 @@
+---
+{
+        "title": "多表持续导入",
+        "language": "zh-CN",
+        "description": "Doris 可以通过 Streaming Job 的方式,将 MySQL、Postgres 
等多张表的全量和增量数据持续同步到 Doris 中。"
+}
+---
+
+## 概述
+
+支持通过 Job 将 MySQL、Postgres 等数据库的多张表的全量和增量数据,通过 Stream Load 的方式持续同步到 Doris 
中。适用于需要实时同步多表数据到 Doris 的场景。
+
+## 支持的数据源
+
+- MySQL
+- Postgres
+
+## 基本原理
+
+通过集成 [Flink CDC](https://github.com/apache/flink-cdc) 能力,Doris 支持从 
MySQL、Postgres 等数据库读取变更日志,实现多表的全量和增量数据同步。首次同步时会自动创建 Doris 下游表(主键表),并保持主键与上游一致。
+
+**注意事项:**
+
+1. 目前只能保证 at-least-once 语义。
+2. 目前只支持主键表同步。
+3. 需要 Load 权限,若下游表不存在还需有 Create 权限。
+
+## 快速上手
+
+### 前提条件
+
+#### MySQL 
+需要在 MySQL 端开启 Binlog,即 my.cnf 配置文件中增加:
+```ini
+log-bin=mysql-bin
+binlog_format=ROW
+server-id=1
+```
+
+#### Postgres
+需要在 Postgres 端配置逻辑复制,即 postgresql.conf 增加:
+```ini
+wal_level=logical
+```
+
+### 创建导入作业
+
+#### MySQL
+
+```sql
+CREATE JOB multi_table_sync
+ON STREAMING
+FROM MYSQL (
+        "jdbc_url" = "jdbc:mysql://127.0.0.1:3306",
+        "driver_url" = "mysql-connector-j-8.0.31.jar",
+        "driver_class" = "com.mysql.cj.jdbc.Driver",
+        "user" = "root",
+        "password" = "123456",
+        "database" = "test",
+        "include_tables" = "user_info,order_info",
+        "offset" = "initial"
+)
+TO DATABASE target_test_db (
+    "table.create.properties.replication_num" = "1"
+)
+```
+
+#### Postgres
+
+```sql
+CREATE JOB test_postgres_job
+ON STREAMING
+FROM POSTGRES (
+    "jdbc_url" = "jdbc:postgresql://127.0.0.1:5432/postgres",
+    "driver_url" = "postgresql-42.5.0.jar",
+    "driver_class" = "org.postgresql.Driver",
+    "user" = "postgres",
+    "password" = "postgres",
+    "database" = "postgres",
+    "schema" = "public",
+    "include_tables" = "test_tbls", 
+    "offset" = "latest"
+)
+TO DATABASE target_test_db (
+  "table.create.properties.replication_num" = "1"
+)
+```
+
+### 查看导入状态
+
+```sql
+select * from jobs(type=insert) where ExecuteType = "STREAMING"
+             Id: 1765332859199
+             Name: mysql_db_sync
+          Definer: root
+      ExecuteType: STREAMING
+RecurringStrategy: \N
+           Status: RUNNING
+       ExecuteSql: FROM 
MYSQL('include_tables'='user_info','database'='test','driver_class'='com.mysql.cj.jdbc.Driver','driver_url'='mysql-connector-j-8.0.31.jar','offset'='initial','jdbc_url'='jdbc:mysql://127.0.0.1:3306','user'='root'
 ) TO DATABSE target_test_db ('table.create.properties.replication_num'='1')

Review Comment:
   The word "DATABASE" is misspelled as "DATABSE" (missing the 'A'). This 
appears in the ExecuteSql output example.
   ```suggestion
          ExecuteSql: FROM 
MYSQL('include_tables'='user_info','database'='test','driver_class'='com.mysql.cj.jdbc.Driver','driver_url'='mysql-connector-j-8.0.31.jar','offset'='initial','jdbc_url'='jdbc:mysql://127.0.0.1:3306','user'='root'
 ) TO DATABASE target_test_db ('table.create.properties.replication_num'='1')
   ```



##########
i18n/zh-CN/docusaurus-plugin-content-docs/current/data-operate/import/streaming-job/streaming-job-multi-table.md:
##########
@@ -0,0 +1,293 @@
+---
+{
+        "title": "多表持续导入",
+        "language": "zh-CN",
+        "description": "Doris 可以通过 Streaming Job 的方式,将 MySQL、Postgres 
等多张表的全量和增量数据持续同步到 Doris 中。"
+}
+---
+
+## 概述
+
+支持通过 Job 将 MySQL、Postgres 等数据库的多张表的全量和增量数据,通过 Stream Load 的方式持续同步到 Doris 
中。适用于需要实时同步多表数据到 Doris 的场景。
+
+## 支持的数据源
+
+- MySQL
+- Postgres
+
+## 基本原理
+
+通过集成 [Flink CDC](https://github.com/apache/flink-cdc) 能力,Doris 支持从 
MySQL、Postgres 等数据库读取变更日志,实现多表的全量和增量数据同步。首次同步时会自动创建 Doris 下游表(主键表),并保持主键与上游一致。
+
+**注意事项:**
+
+1. 目前只能保证 at-least-once 语义。
+2. 目前只支持主键表同步。
+3. 需要 Load 权限,若下游表不存在还需有 Create 权限。
+
+## 快速上手
+
+### 前提条件
+
+#### MySQL 
+需要在 MySQL 端开启 Binlog,即 my.cnf 配置文件中增加:
+```ini
+log-bin=mysql-bin
+binlog_format=ROW
+server-id=1
+```
+
+#### Postgres
+需要在 Postgres 端配置逻辑复制,即 postgresql.conf 增加:
+```ini
+wal_level=logical
+```
+
+### 创建导入作业
+
+#### MySQL
+
+```sql
+CREATE JOB multi_table_sync
+ON STREAMING
+FROM MYSQL (
+        "jdbc_url" = "jdbc:mysql://127.0.0.1:3306",
+        "driver_url" = "mysql-connector-j-8.0.31.jar",
+        "driver_class" = "com.mysql.cj.jdbc.Driver",
+        "user" = "root",
+        "password" = "123456",
+        "database" = "test",
+        "include_tables" = "user_info,order_info",
+        "offset" = "initial"
+)
+TO DATABASE target_test_db (
+    "table.create.properties.replication_num" = "1"
+)
+```
+
+#### Postgres
+
+```sql
+CREATE JOB test_postgres_job
+ON STREAMING
+FROM POSTGRES (
+    "jdbc_url" = "jdbc:postgresql://127.0.0.1:5432/postgres",
+    "driver_url" = "postgresql-42.5.0.jar",
+    "driver_class" = "org.postgresql.Driver",
+    "user" = "postgres",
+    "password" = "postgres",
+    "database" = "postgres",
+    "schema" = "public",
+    "include_tables" = "test_tbls", 
+    "offset" = "latest"
+)
+TO DATABASE target_test_db (
+  "table.create.properties.replication_num" = "1"
+)
+```
+
+### 查看导入状态
+
+```sql
+select * from jobs(type=insert) where ExecuteType = "STREAMING"
+             Id: 1765332859199
+             Name: mysql_db_sync
+          Definer: root
+      ExecuteType: STREAMING
+RecurringStrategy: \N
+           Status: RUNNING
+       ExecuteSql: FROM 
MYSQL('include_tables'='user_info','database'='test','driver_class'='com.mysql.cj.jdbc.Driver','driver_url'='mysql-connector-j-8.0.31.jar','offset'='initial','jdbc_url'='jdbc:mysql://127.0.0.1:3306','user'='root'
 ) TO DATABSE target_test_db ('table.create.properties.replication_num'='1')
+       CreateTime: 2025-12-10 10:19:35
+ SucceedTaskCount: 1
+  FailedTaskCount: 0
+CanceledTaskCount: 0
+          Comment: 
+       Properties: \N
+    CurrentOffset: 
{"ts_sec":"1765284495","file":"binlog.000002","pos":"9350","kind":"SPECIFIC","splitId":"binlog-split","row":"1","event":"2","server_id":"1"}
+        EndOffset: \N
+    LoadStatistic: 
{"scannedRows":24,"loadBytes":1146,"fileNumber":0,"fileSize":0}
+         ErrorMsg: \N
+```
+
+### 暂停导入作业
+
+```sql
+PAUSE JOB WHERE jobname = <job_name> ;
+```
+
+### 恢复导入作业
+
+```sql
+RESUME JOB where jobName = <job_name> ;
+```
+
+### 修改导入作业
+
+```sql
+ALTER JOB <job_name>
+FROM MYSQL (
+    "user" = "root",
+    "password" = "123456"
+)
+TO DATABASE target_test_db
+```
+
+### 删除导入作业
+
+```sql
+DROP JOB where jobName = <job_name> ;
+```
+
+## 参考手册
+
+### 导入命令
+
+创建一个多表同步作业语法如下:
+
+```sql
+CREATE JOB <job_name>
+ON STREAMING
+[job_properties]
+[ COMMENT <comment> ]
+FROM <MYSQL|POSTGRES> (
+    [source_properties]
+)
+TO DATABASE <target_db> (
+    [target_properties]
+)
+```
+
+| 模块               | 说明                      |
+| ------------------ | ------------------------- |
+| job_name           | 任务名                    |
+| job_properties     | 用于指定 Job 的通用导入参数 |
+| comment            | 用于描述 Job 作业的备注信息 |
+| source_properties  | 源端(MySQL/PG 等)相关参数   |
+| target_properties  | Doris 目标库相关参数       |
+
+### 导入参数
+
+#### FE 配置参数
+
+| 参数                                 | 默认值 | 说明                                
   |
+| ------------------------------------ | ------ | 
-------------------------------------- |
+| max_streaming_job_num                | 1024   | 最大的 Streaming 作业数量           
    |
+| job_streaming_task_exec_thread_num   | 10     | 用于执行 StreamingTask 的线程数      
   |
+| max_streaming_task_show_count        | 100    | StreamingTask 在内存中最多保留的 task 
执行记录 |
+
+#### Job 通用导入配置参数
+
+| 参数         | 默认值 | 说明                                   |
+| ------------ | ------ | -------------------------------------- |
+| max_interval | 10s    | 当上游没有新增数据时,空闲的调度间隔。 |
+
+#### 数据源配置参数
+
+| 参数           | 默认值  | 说明                                                     
    |
+| -------------- | ------- | 
------------------------------------------------------------ |
+| jdbc_url       | -       | JDBC 连接串(MySQL/PG)                                
       |
+| driver_url     | -       | JDBC 驱动 jar 包路径                                   
       |
+| driver_class   | -       | JDBC 驱动类名                                         
       |
+| user           | -       | 数据库用户名                                            
      |
+| password       | -       | 数据库密码                                             
       |
+| database       | -       | 数据库名                                              
        |
+| schema       | -       | schema 名称                                           
           |
+| include_tables | -       | 需要同步的表名,多个表用逗号分隔                              |
+| offset         | initial | initial: 全量 + 增量同步,latest: 仅增量同步                  
  |
+
+#### Doris 目标库端配置参数
+
+| 参数           | 默认值  | 说明                                                     
    |
+| -------------- | ------- | 
------------------------------------------------------------ |
+| table.create.properties.*       | -       | 支持创建表的时候指定 table 的 properties,比如 
replication_num                                   |
+
+### 导入状态
+
+#### Job
+
+Job 提交成功后,可以执行如下 SQL 查看 Job 当前状态:
+
+```sql
+select * from jobs(type=insert) where ExecuteType = "STREAMING"
+*************************** 1. row ***************************
+               Id: 1765332859199
+             Name: mysql_db_sync
+          Definer: root
+      ExecuteType: STREAMING
+RecurringStrategy: \N
+           Status: RUNNING
+       ExecuteSql: FROM 
MYSQL('include_tables'='user_info','database'='test','driver_class'='com.mysql.cj.jdbc.Driver','driver_url'='mysql-connector-j-8.0.31.jar','offset'='initial','jdbc_url'='jdbc:mysql://127.0.0.1:3306','user'='root'
 ) TO DATABSE target_test_db ('table.create.properties.replication_num'='1')

Review Comment:
   The word "DATABASE" is misspelled as "DATABSE" (missing the 'A'). This 
appears in the ExecuteSql output example.
   ```suggestion
          ExecuteSql: FROM 
MYSQL('include_tables'='user_info','database'='test','driver_class'='com.mysql.cj.jdbc.Driver','driver_url'='mysql-connector-j-8.0.31.jar','offset'='initial','jdbc_url'='jdbc:mysql://127.0.0.1:3306','user'='root'
 ) TO DATABASE target_test_db ('table.create.properties.replication_num'='1')
   ```



##########
i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/job/CREATE-STREAMING-JOB.md:
##########
@@ -27,15 +44,41 @@ DO <Insert_Command>
 **1. `<job_name>`**
 > 作业名称,它在一个 db 中标识唯一事件。JOB 名称必须是全局唯一的,如果已经存在同名的 JOB,则会报错。
 
-**3. `<sql_body>`**
-> DO 子句,它指定了 Job 作业触发时需要执行的操作,即一条 SQL 语句,目前只支持 S3 TVF
+**2. `<Insert_Command>`**
+> DO 子句,它指定了 Job 作业触发时需要执行的操作,即一条 SQL 语句,目前只支持 S3 TVF。
+
+**3. `<sourceType>`**
+> 支持的数据源,目前只支持 MySQL 和 Postgres。
+
+**4. `<source_property>`**
+| 参数           | 默认值  | 说明                                                     
    |
+| -------------- | ------- | 
------------------------------------------------------------ |
+| jdbc_url       | -       | JDBC 连接串(MySQL/PG)                                
       |
+| driver_url     | -       | JDBC 驱动 jar 包路径                                   
       |
+| driver_class   | -       | JDBC 驱动类名                                         
       |
+| user           | -       | 数据库用户名                                            
      |
+| password       | -       | 数据库密码                                             
       |
+| database       | -       | 数据库名                                              
        |
+| schema       | -       | schema 名称                                           
           |
+| include_tables | -       | 需要同步的表名,多个表用逗号分隔                              |
+| offset         | initial | initial: 全量 + 增量同步,latest: 仅增量同步                  
  |
+
+**5. `<target_db>`**
+> 需要导入的 Doris 目标库名称。
+
+**6. `<target_property>`**
+| 参数           | 默认值  | 说明                                                     
    |
+| -------------- | ------- | 
------------------------------------------------------------ |
+| table.create.properties.*       | -       | 支持创建表的时候指定 table 的 properties,比如 
replication_num       

Review Comment:
   The table property description is incomplete - it ends abruptly without 
closing the table cell. The line should end with a pipe character or the 
description should be completed.
   ```suggestion
   | table.create.properties.*       | -       | 支持创建表的时候指定 table 的 
properties,比如 replication_num       |
   ```



##########
i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/job/CREATE-STREAMING-JOB.md:
##########
@@ -75,6 +118,47 @@ DO <Insert_Command>
     );
     ```
 
+- 创建一个名为 my_job 的作业,从头开始同步 MySQL 上游的 user_info,order_info 表的数据,到 
target_test_db 库下面。
+
+    ```sql
+    CREATE JOB multi_table_sync
+    ON STREAMING
+    FROM MYSQL (
+            "jdbc_url" = "jdbc:mysql://127.0.0.1:3306",
+            "driver_url" = "mysql-connector-j-8.0.31.jar",
+            "driver_class" = "com.mysql.cj.jdbc.Driver",
+            "user" = "root",
+            "password" = "123456",
+            "database" = "test",
+            "include_tables" = "user_info,order_info",
+            "offset" = "initial"
+    )
+    TO DATABASE target_test_db (
+        "table.create.properties.replication_num" = "1"
+    )
+    ```
+
+- 创建一个名为 my_job 的作业,持续同步 Postgrees 上游的 test_tbls 表的增量的数据,到 target_test_db 库下面。

Review Comment:
   The spelling of "Postgres" is inconsistent. It's spelled as "Postgrees" 
(with an extra 'e'), which is incorrect. It should be "Postgres".
   ```suggestion
   - 创建一个名为 my_job 的作业,持续同步 Postgres 上游的 test_tbls 表的增量的数据,到 target_test_db 库下面。
   ```



##########
i18n/zh-CN/docusaurus-plugin-content-docs/version-4.x/data-operate/import/streaming-job/streaming-job-multi-table.md:
##########
@@ -0,0 +1,293 @@
+---
+{
+        "title": "多表持续导入",
+        "language": "zh-CN",
+        "description": "Doris 可以通过 Streaming Job 的方式,将 MySQL、Postgres 
等多张表的全量和增量数据持续同步到 Doris 中。"
+}
+---
+
+## 概述
+
+支持通过 Job 将 MySQL、Postgres 等数据库的多张表的全量和增量数据,通过 Stream Load 的方式持续同步到 Doris 
中。适用于需要实时同步多表数据到 Doris 的场景。
+
+## 支持的数据源
+
+- MySQL
+- Postgres
+
+## 基本原理
+
+通过集成 [Flink CDC](https://github.com/apache/flink-cdc) 能力,Doris 支持从 
MySQL、Postgres 等数据库读取变更日志,实现多表的全量和增量数据同步。首次同步时会自动创建 Doris 下游表(主键表),并保持主键与上游一致。
+
+**注意事项:**
+
+1. 目前只能保证 at-least-once 语义。
+2. 目前只支持主键表同步。
+3. 需要 Load 权限,若下游表不存在还需有 Create 权限。
+
+## 快速上手
+
+### 前提条件
+
+#### MySQL 
+需要在 MySQL 端开启 Binlog,即 my.cnf 配置文件中增加:
+```ini
+log-bin=mysql-bin
+binlog_format=ROW
+server-id=1
+```
+
+#### Postgres
+需要在 Postgres 端配置逻辑复制,即 postgresql.conf 增加:
+```ini
+wal_level=logical
+```
+
+### 创建导入作业
+
+#### MySQL
+
+```sql
+CREATE JOB multi_table_sync
+ON STREAMING
+FROM MYSQL (
+        "jdbc_url" = "jdbc:mysql://127.0.0.1:3306",
+        "driver_url" = "mysql-connector-j-8.0.31.jar",
+        "driver_class" = "com.mysql.cj.jdbc.Driver",
+        "user" = "root",
+        "password" = "123456",
+        "database" = "test",
+        "include_tables" = "user_info,order_info",
+        "offset" = "initial"
+)
+TO DATABASE target_test_db (
+    "table.create.properties.replication_num" = "1"
+)
+```
+
+#### Postgres
+
+```sql
+CREATE JOB test_postgres_job
+ON STREAMING
+FROM POSTGRES (
+    "jdbc_url" = "jdbc:postgresql://127.0.0.1:5432/postgres",
+    "driver_url" = "postgresql-42.5.0.jar",
+    "driver_class" = "org.postgresql.Driver",
+    "user" = "postgres",
+    "password" = "postgres",
+    "database" = "postgres",
+    "schema" = "public",
+    "include_tables" = "test_tbls", 
+    "offset" = "latest"
+)
+TO DATABASE target_test_db (
+  "table.create.properties.replication_num" = "1"
+)
+```
+
+### 查看导入状态
+
+```sql
+select * from jobs(type=insert) where ExecuteType = "STREAMING"
+             Id: 1765332859199
+             Name: mysql_db_sync
+          Definer: root
+      ExecuteType: STREAMING
+RecurringStrategy: \N
+           Status: RUNNING
+       ExecuteSql: FROM 
MYSQL('include_tables'='user_info','database'='test','driver_class'='com.mysql.cj.jdbc.Driver','driver_url'='mysql-connector-j-8.0.31.jar','offset'='initial','jdbc_url'='jdbc:mysql://127.0.0.1:3306','user'='root'
 ) TO DATABSE target_test_db ('table.create.properties.replication_num'='1')
+       CreateTime: 2025-12-10 10:19:35
+ SucceedTaskCount: 1
+  FailedTaskCount: 0
+CanceledTaskCount: 0
+          Comment: 
+       Properties: \N
+    CurrentOffset: 
{"ts_sec":"1765284495","file":"binlog.000002","pos":"9350","kind":"SPECIFIC","splitId":"binlog-split","row":"1","event":"2","server_id":"1"}
+        EndOffset: \N
+    LoadStatistic: 
{"scannedRows":24,"loadBytes":1146,"fileNumber":0,"fileSize":0}
+         ErrorMsg: \N
+```
+
+### 暂停导入作业
+
+```sql
+PAUSE JOB WHERE jobname = <job_name> ;
+```
+
+### 恢复导入作业
+
+```sql
+RESUME JOB where jobName = <job_name> ;
+```
+
+### 修改导入作业
+
+```sql
+ALTER JOB <job_name>
+FROM MYSQL (
+    "user" = "root",
+    "password" = "123456"
+)
+TO DATABASE target_test_db
+```
+
+### 删除导入作业
+
+```sql
+DROP JOB where jobName = <job_name> ;
+```
+
+## 参考手册
+
+### 导入命令
+
+创建一个多表同步作业语法如下:
+
+```sql
+CREATE JOB <job_name>
+ON STREAMING
+[job_properties]
+[ COMMENT <comment> ]
+FROM <MYSQL|POSTGRES> (
+    [source_properties]
+)
+TO DATABASE <target_db> (
+    [target_properties]
+)
+```
+
+| 模块               | 说明                      |
+| ------------------ | ------------------------- |
+| job_name           | 任务名                    |
+| job_properties     | 用于指定 Job 的通用导入参数 |
+| comment            | 用于描述 Job 作业的备注信息 |
+| source_properties  | 源端(MySQL/PG 等)相关参数   |
+| target_properties  | Doris 目标库相关参数       |
+
+### 导入参数
+
+#### FE 配置参数
+
+| 参数                                 | 默认值 | 说明                                
   |
+| ------------------------------------ | ------ | 
-------------------------------------- |
+| max_streaming_job_num                | 1024   | 最大的 Streaming 作业数量           
    |
+| job_streaming_task_exec_thread_num   | 10     | 用于执行 StreamingTask 的线程数      
   |
+| max_streaming_task_show_count        | 100    | StreamingTask 在内存中最多保留的 task 
执行记录 |
+
+#### Job 通用导入配置参数
+
+| 参数         | 默认值 | 说明                                   |
+| ------------ | ------ | -------------------------------------- |
+| max_interval | 10s    | 当上游没有新增数据时,空闲的调度间隔。 |
+
+#### 数据源配置参数
+
+| 参数           | 默认值  | 说明                                                     
    |
+| -------------- | ------- | 
------------------------------------------------------------ |
+| jdbc_url       | -       | JDBC 连接串(MySQL/PG)                                
       |
+| driver_url     | -       | JDBC 驱动 jar 包路径                                   
       |
+| driver_class   | -       | JDBC 驱动类名                                         
       |
+| user           | -       | 数据库用户名                                            
      |
+| password       | -       | 数据库密码                                             
       |
+| database       | -       | 数据库名                                              
        |
+| schema       | -       | schema 名称                                           
           |
+| include_tables | -       | 需要同步的表名,多个表用逗号分隔                              |
+| offset         | initial | initial: 全量 + 增量同步,latest: 仅增量同步                  
  |
+
+#### Doris 目标库端配置参数
+
+| 参数           | 默认值  | 说明                                                     
    |
+| -------------- | ------- | 
------------------------------------------------------------ |
+| table.create.properties.*       | -       | 支持创建表的时候指定 table 的 properties,比如 
replication_num                                   |
+
+### 导入状态
+
+#### Job
+
+Job 提交成功后,可以执行如下 SQL 查看 Job 当前状态:
+
+```sql
+select * from jobs(type=insert) where ExecuteType = "STREAMING"
+*************************** 1. row ***************************
+               Id: 1765332859199
+             Name: mysql_db_sync
+          Definer: root
+      ExecuteType: STREAMING
+RecurringStrategy: \N
+           Status: RUNNING
+       ExecuteSql: FROM 
MYSQL('include_tables'='user_info','database'='test','driver_class'='com.mysql.cj.jdbc.Driver','driver_url'='mysql-connector-j-8.0.31.jar','offset'='initial','jdbc_url'='jdbc:mysql://127.0.0.1:3306','user'='root'
 ) TO DATABSE target_test_db ('table.create.properties.replication_num'='1')

Review Comment:
   The word "DATABASE" is misspelled as "DATABSE" (missing the 'A'). This 
appears in the ExecuteSql output example.
   ```suggestion
          ExecuteSql: FROM 
MYSQL('include_tables'='user_info','database'='test','driver_class'='com.mysql.cj.jdbc.Driver','driver_url'='mysql-connector-j-8.0.31.jar','offset'='initial','jdbc_url'='jdbc:mysql://127.0.0.1:3306','user'='root'
 ) TO DATABASE target_test_db ('table.create.properties.replication_num'='1')
   ```



##########
i18n/zh-CN/docusaurus-plugin-content-docs/version-4.x/sql-manual/sql-statements/job/CREATE-STREAMING-JOB.md:
##########
@@ -27,12 +44,38 @@ DO <Insert_Command>
 **1. `<job_name>`**
 > 作业名称,它在一个 db 中标识唯一事件。JOB 名称必须是全局唯一的,如果已经存在同名的 JOB,则会报错。
 
-**3. `<sql_body>`**
-> DO 子句,它指定了 Job 作业触发时需要执行的操作,即一条 SQL 语句,目前只支持 S3 TVF
+**2. `<Insert_Command>`**
+> DO 子句,它指定了 Job 作业触发时需要执行的操作,即一条 SQL 语句,目前只支持 S3 TVF。
+
+**3. `<sourceType>`**
+> 支持的数据源,目前只支持 MySQL 和 Postgres。
+
+**4. `<source_property>`**
+| 参数           | 默认值  | 说明                                                     
    |
+| -------------- | ------- | 
------------------------------------------------------------ |
+| jdbc_url       | -       | JDBC 连接串(MySQL/PG)                                
       |
+| driver_url     | -       | JDBC 驱动 jar 包路径                                   
       |
+| driver_class   | -       | JDBC 驱动类名                                         
       |
+| user           | -       | 数据库用户名                                            
      |
+| password       | -       | 数据库密码                                             
       |
+| database       | -       | 数据库名                                              
        |
+| schema       | -       | schema 名称                                           
           |
+| include_tables | -       | 需要同步的表名,多个表用逗号分隔                              |
+| offset         | initial | initial: 全量 + 增量同步,latest: 仅增量同步                  
  |
+
+**5. `<target_db>`**
+> 需要导入的 Doris 目标库名称。
+
+**6. `<target_property>`**
+| 参数           | 默认值  | 说明                                                     
    |
+| -------------- | ------- | 
------------------------------------------------------------ |
+| table.create.properties.*       | -       | 支持创建表的时候指定 table 的 properties,比如 
replication_num       

Review Comment:
   The table property description is incomplete - it ends abruptly without 
closing the table cell. The line should end with a pipe character or the 
description should be completed.
   ```suggestion
   | table.create.properties.*       | -       | 支持创建表的时候指定 table 的 
properties,比如 replication_num |
   ```



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]


Reply via email to