This is an automated email from the ASF dual-hosted git repository.

github-merge-queue[bot] 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 c6a240c466 [Docs] Fix connector doc inaccuracies verified against 
source code (#12615)
c6a240c466 is described below

commit c6a240c4666e750cd88d8e1d59cb5cc2b2134db3
Author: Jast <[email protected]>
AuthorDate: Sun Oct 25 14:33:48 2026 +0000

    [Docs] Fix connector doc inaccuracies verified against source code (#12615)
    
    Co-authored-by: jast <[email protected]>
---
 docs/en/connectors/sink/FtpFile.md    | 22 ++--------------------
 docs/en/connectors/source/FtpFile.md  | 31 ++++++-------------------------
 docs/en/connectors/source/Hive.md     | 14 +++++++-------
 docs/en/transforms/dynamic-compile.md |  8 ++++----
 docs/zh/connectors/sink/FtpFile.md    | 22 ++--------------------
 docs/zh/connectors/source/FtpFile.md  | 31 ++++++-------------------------
 docs/zh/connectors/source/Hive.md     | 14 +++++++-------
 docs/zh/transforms/dynamic-compile.md |  8 ++++----
 8 files changed, 38 insertions(+), 112 deletions(-)

diff --git a/docs/en/connectors/sink/FtpFile.md 
b/docs/en/connectors/sink/FtpFile.md
index f257992bf8..b0bc827ea4 100644
--- a/docs/en/connectors/sink/FtpFile.md
+++ b/docs/en/connectors/sink/FtpFile.md
@@ -410,27 +410,9 @@ FtpFile {
 
 ```
 
-### Writing via SFTP
+### Writing to an SFTP server
 
-The `FtpFile` sink supports `sftp://` URIs alongside `ftp://`. Authentication 
and host-key trust are configured the same way as for the source — SSH key or 
password plus a `known_hosts` file (the connector does not auto-trust unknown 
hosts).
-
-```hocon
-sink {
-  FtpFile {
-    fs.defaultFS = "sftp://sftp.example.example.com:22";
-    path = "/upload/landing/"
-    user = "seatunnel"
-    file_format_type = "parquet"
-    ftp_properties = {
-      "fs.sftp.user."      = "seatunnel"
-      "fs.sftp.keyfile"    = "/etc/seatunnel/id_rsa"
-      "fs.sftp.host"       = "sftp.example.example.com"
-      "fs.sftp.port"       = "22"
-      "fs.sftp.knownHosts" = "/etc/seatunnel/known_hosts"
-    }
-  }
-}
-```
+The `FtpFile` sink only speaks the plain FTP protocol — its connection is 
always built as `ftp://<host>:<port>` from the `host`/`port` options, and 
options such as `fs.defaultFS`, `ftp_properties`, or `known_hosts` are not 
supported. To write files over SFTP (SSH File Transfer), use the 
[SftpFile](SftpFile.md) sink instead.
 
 
 ## Changelog
diff --git a/docs/en/connectors/source/FtpFile.md 
b/docs/en/connectors/source/FtpFile.md
index 49bbe38f39..ccc056e7cc 100644
--- a/docs/en/connectors/source/FtpFile.md
+++ b/docs/en/connectors/source/FtpFile.md
@@ -680,8 +680,10 @@ Source plugin common parameters, please refer to [Source 
Common Options](../comm
     password = tianchao
     file_format_type = "text"
     schema = {
-      name = string
-      age = int
+      fields {
+        name = string
+        age = int
+      }
     }
     field_delimiter = "#"
   }
@@ -906,30 +908,9 @@ sink {
 }
 ```
 
-### Reading via SFTP (SSH File Transfer)
-
-`FtpFile` reads from FTP and SFTP servers through the same Hadoop FileSystem 
URI scheme; switch to `sftp://` to use SSH instead of plain FTP. SFTP requires 
an SSH key (or a password) for authentication, and the host key must be trusted 
by the running JVM (either via `~/.ssh/known_hosts` or a custom `known_hosts` 
file passed through `ftp_properties`).
-
-```hocon
-source {
-  FtpFile {
-    fs.defaultFS = "sftp://sftp.example.example.com:22";
-    path = "/upload/landing/"
-    user = "seatunnel"
-    file_format_type = "csv"
-    delimiter = ","
-    ftp_properties = {
-      "fs.sftp.user." = "seatunnel"
-      "fs.sftp.keyfile" = "/etc/seatunnel/id_rsa"
-      "fs.sftp.host"   = "sftp.example.example.com"
-      "fs.sftp.port"   = "22"
-      "fs.sftp.knownHosts" = "/etc/seatunnel/known_hosts"
-    }
-  }
-}
-```
+### Reading from an SFTP server
 
-If the SFTP server uses a self-signed host key, add it to `known_hosts` ahead 
of time — otherwise the first read throws a `SftpException` complaining about 
host verification. The connector does not cache or refresh `known_hosts` 
itself; updating the file and restarting the job is enough.
+The `FtpFile` connector only speaks the plain FTP protocol — its connection is 
always built as `ftp://<host>:<port>` from the `host`/`port` options, and 
options such as `fs.defaultFS`, `ftp_properties`, or `known_hosts` are not 
supported. To read files over SFTP (SSH File Transfer), use the 
[SftpFile](SftpFile.md) connector instead, which configures the server through 
`host`/`port`/`user`/`password` (and optional SSH `keyfile`) options.
 
 ## Changelog
 
diff --git a/docs/en/connectors/source/Hive.md 
b/docs/en/connectors/source/Hive.md
index f004b77b2f..9cd8fb2baa 100644
--- a/docs/en/connectors/source/Hive.md
+++ b/docs/en/connectors/source/Hive.md
@@ -42,8 +42,8 @@ Read all the data in a split in a pollNext call. What splits 
are read will be sa
 |         name          |  type  | required | default value  | description |
 |-----------------------|--------|----------|----------------|-------------|
 | table_name            | string | no       | Required for single-table mode | 
Target Hive table name in the form `db1.table1`. When `use_regex = true`, this 
field uses `databasePattern.tablePattern` to match multiple tables. |
-| table_list            | array  | no       | Deprecated, use `tables_configs` 
instead | Deprecated multi-table configuration list. New jobs should use 
`tables_configs`. Kept for backward compatibility; will be removed in a future 
release. |
-| tables_configs        | array  | no       | -              | List of Hive 
table configurations for multi-table reading. Each item can override any of the 
root-level options. |
+| table_list            | array  | no       | -              | Multi-table 
configuration list. Each item can override any of the root-level options. Takes 
precedence if both `table_list` and `tables_configs` are set. |
+| tables_configs        | array  | no       | Deprecated, use `table_list` 
instead | Deprecated multi-table configuration list. Hive is a structured data 
source, new jobs should use `table_list`. Kept for backward compatibility. |
 | use_regex             | boolean| no       | false          | Treat 
`table_name` as a regular expression that matches multiple tables. Works at the 
root level and inside each `table_list` / `tables_configs` entry. |
 | metastore_uri         | string | no       | Required for single-table mode | 
Hive metastore URI. Comma-separated values enable HA failover; whitespace is 
ignored. |
 | krb5_path             | string | no       | /etc/krb5.conf | Path of the 
`krb5.conf` file used for Kerberos authentication. |
@@ -63,15 +63,15 @@ Read all the data in a split in a pollNext call. What 
splits are read will be sa
 
 Target Hive table name eg: `db1.table1`. When `use_regex = true`, this field 
uses `databasePattern.tablePattern` (Hive has no schema) to match multiple 
tables from Hive metastore.
 
-For a single-table source, configure `table_name` and `metastore_uri` at the 
root level. For multi-table reading, configure `tables_configs`. `table_list` 
is still accepted for backward compatibility, but `tables_configs` is the 
current option.
+For a single-table source, configure `table_name` and `metastore_uri` at the 
root level. For multi-table reading, configure `table_list`. `tables_configs` 
is still accepted for backward compatibility, but `table_list` is the current 
option.
 
 ### table_list [array]
 
-Deprecated multi-table configuration list. Kept for backward compatibility; 
new jobs should use `tables_configs`.
+Multi-table configuration list. Each item can contain `table_name`, 
`metastore_uri`, `use_regex`, `read_partitions`, `read_columns`, and the same 
authentication/Hadoop options as the root connector block.
 
 ### tables_configs [array]
 
-List of Hive table configurations for multi-table reading. Each item can 
contain `table_name`, `metastore_uri`, `use_regex`, `read_partitions`, 
`read_columns`, and the same authentication/Hadoop options as the root 
connector block.
+Deprecated multi-table configuration list, kept for backward compatibility; 
new jobs should use `table_list`. Each item can contain `table_name`, 
`metastore_uri`, `use_regex`, `read_partitions`, `read_columns`, and the same 
authentication/Hadoop options as the root connector block.
 
 ### use_regex [boolean]
 
@@ -163,13 +163,13 @@ Source plugin common parameters, please refer to [Source 
Common Options](../comm
 ```
 
 ### Example 3: Multiple tables
-> Note: Hive is a structured data source and should use 'tables_configs'; the 
older 'table_list' key is deprecated and will be removed in a future release.
+> Note: Hive is a structured data source and `table_list` is the recommended 
multi-table option; the older `tables_configs` key is deprecated but still 
accepted for backward compatibility.
 > You can also set `use_regex = true` in each table config to match multiple 
 > tables.
 
 ```hocon
 
   Hive {
-    tables_configs = [
+    table_list = [
         {
           table_name = "default.seatunnel_orc_1"
           metastore_uri = "thrift://namenode001:9083"
diff --git a/docs/en/transforms/dynamic-compile.md 
b/docs/en/transforms/dynamic-compile.md
index bddeee430f..72547259f2 100644
--- a/docs/en/transforms/dynamic-compile.md
+++ b/docs/en/transforms/dynamic-compile.md
@@ -81,7 +81,7 @@ Use this DynamicCompile to add a new column 
`compile_language`, and update the `
 
 
 - use groovy
-```hacon
+```hocon
 transform {
  DynamicCompile {
     plugin_input = "fake"
@@ -139,7 +139,7 @@ transform {
 ```
 
 - use java 
-```hacon
+```hocon
 transform {
  DynamicCompile {
     plugin_input = "fake"
@@ -194,7 +194,7 @@ transform {
  } 
  ```
 - use absolute path to read code
-```hacon
+```hocon
  transform {
  DynamicCompile {
     plugin_input = "fake"
@@ -226,7 +226,7 @@ Then the data in result table `java_out` will like this
 | Joy Dom  | 30  | 123  | JAVA             |
 
 - use scala
-```hacon
+```hocon
 transform {
  DynamicCompile {
     plugin_input = "fake"
diff --git a/docs/zh/connectors/sink/FtpFile.md 
b/docs/zh/connectors/sink/FtpFile.md
index 14a5da01c6..ceeb8af3b1 100644
--- a/docs/zh/connectors/sink/FtpFile.md
+++ b/docs/zh/connectors/sink/FtpFile.md
@@ -414,27 +414,9 @@ FtpFile {
 
 ```
 
-### 通过 SFTP 写入
+### 写入 SFTP 服务器
 
-`FtpFile` Sink 同时支持 `ftp://` 和 `sftp://` URI。认证方式与 source 一致:SSH 密钥或密码外加 
`known_hosts` 文件——连接器不会自动信任未知 host。
-
-```hocon
-sink {
-  FtpFile {
-    fs.defaultFS = "sftp://sftp.example.example.com:22";
-    path = "/upload/landing/"
-    user = "seatunnel"
-    file_format_type = "parquet"
-    ftp_properties = {
-      "fs.sftp.user."      = "seatunnel"
-      "fs.sftp.keyfile"    = "/etc/seatunnel/id_rsa"
-      "fs.sftp.host"       = "sftp.example.example.com"
-      "fs.sftp.port"       = "22"
-      "fs.sftp.knownHosts" = "/etc/seatunnel/known_hosts"
-    }
-  }
-}
-```
+`FtpFile` Sink 仅支持标准 FTP 协议——连接始终由 `host`/`port` 选项拼接为 
`ftp://<host>:<port>`,不支持 `fs.defaultFS`、`ftp_properties`、`known_hosts` 
等选项。如需通过 SFTP(SSH 文件传输协议)写入文件,请改用 [SftpFile](SftpFile.md) Sink。
 
 
 ## 变更日志
diff --git a/docs/zh/connectors/source/FtpFile.md 
b/docs/zh/connectors/source/FtpFile.md
index afa3d0ff89..d15f3cf44c 100644
--- a/docs/zh/connectors/source/FtpFile.md
+++ b/docs/zh/connectors/source/FtpFile.md
@@ -652,8 +652,10 @@ compare_mode = "len_mtime"
     password = tianchao
     file_format_type = "text"
     schema = {
-      name = string
-      age = int
+      fields {
+        name = string
+        age = int
+      }
     }
     field_delimiter = "#"
   }
@@ -877,30 +879,9 @@ sink {
 }
 ```
 
-### 通过 SFTP 读取(SSH 文件传输)
-
-`FtpFile` 通过统一的 Hadoop FileSystem URI 同时支持 FTP 和 SFTP;将 URI 协议改为 `sftp://` 
即切换到 SSH 通道。SFTP 需要 SSH 密钥(或密码)认证,且 host key 必须被运行中的 JVM 信任(通过 
`~/.ssh/known_hosts` 或通过 `ftp_properties` 显式指定的 `known_hosts` 文件)。
-
-```hocon
-source {
-  FtpFile {
-    fs.defaultFS = "sftp://sftp.example.example.com:22";
-    path = "/upload/landing/"
-    user = "seatunnel"
-    file_format_type = "csv"
-    delimiter = ","
-    ftp_properties = {
-      "fs.sftp.user." = "seatunnel"
-      "fs.sftp.keyfile" = "/etc/seatunnel/id_rsa"
-      "fs.sftp.host"   = "sftp.example.example.com"
-      "fs.sftp.port"   = "22"
-      "fs.sftp.knownHosts" = "/etc/seatunnel/known_hosts"
-    }
-  }
-}
-```
+### 从 SFTP 服务器读取
 
-如果 SFTP 服务器使用的是自签 host key,请提前把它加进 `known_hosts`——否则第一次读取会抛出 `SftpException` 
并提示 host 校验未通过。连接器本身不缓存或刷新 `known_hosts`,更新文件后重启作业即可生效。
+`FtpFile` 连接器仅支持标准 FTP 协议——连接始终由 `host`/`port` 选项拼接为 `ftp://<host>:<port>`,不支持 
`fs.defaultFS`、`ftp_properties`、`known_hosts` 等选项。如需通过 SFTP(SSH 文件传输协议)读取文件,请改用 
[SftpFile](SftpFile.md) 连接器,它通过 `host`/`port`/`user`/`password`(以及可选的 SSH 
`keyfile`)选项配置服务器。
 
 ## 变更日志
 
diff --git a/docs/zh/connectors/source/Hive.md 
b/docs/zh/connectors/source/Hive.md
index a1d825691a..1cd61c0ab9 100644
--- a/docs/zh/connectors/source/Hive.md
+++ b/docs/zh/connectors/source/Hive.md
@@ -36,8 +36,8 @@ import ChangeLog from '../changelog/connector-hive.md';
 |         名称          |  类型  | 必需 | 默认值  | 描述 |
 |-----------------------|--------|------|---------|------|
 | table_name            | string | 否   | 单表模式必填 | 目标 Hive 表名,格式为 
`db1.table1`。当 `use_regex = true` 时,该字段使用 `数据库正则.表正则` 匹配多张表。 |
-| table_list            | array  | 否   | -       | 已废弃的多表配置列表。新作业请使用 
`tables_configs`。仅为向后兼容保留,未来版本将移除。 |
-| tables_configs        | array  | 否   | -       | 多表读取时使用的 Hive 
表配置列表,每项可覆盖根配置中的任意选项。 |
+| table_list            | array  | 否   | -       | 多表读取时使用的 Hive 
表配置列表,每项可覆盖根配置中的任意选项。若两者同时设置,`table_list` 优先。 |
+| tables_configs        | array  | 否   | 已废弃,请使用 `table_list` | 
已废弃的多表配置列表。Hive 是结构化数据源,新作业请使用 `table_list`。仅为向后兼容保留。 |
 | use_regex             | boolean| 否   | false   | 将 `table_name` 
视为正则表达式以匹配多张表。在根级别以及 `table_list` / `tables_configs` 的每一项中均可使用。 |
 | metastore_uri         | string | 否   | 单表模式必填 | Hive metastore 
URI。多个以逗号分隔的值可启用 HA 故障转移,空白字符会被忽略。 |
 | krb5_path             | string | 否   | /etc/krb5.conf | Kerberos 认证使用的 
`krb5.conf` 文件路径。 |
@@ -57,15 +57,15 @@ import ChangeLog from '../changelog/connector-hive.md';
 
 目标 Hive 表名,例如:`db1.table1`。当 `use_regex = true` 时,该字段支持 `数据库正则.表正则`(Hive 没有 
schema)来匹配 Hive 元存储中的多张表。
 
-单表读取时,在根配置中填写 `table_name` 和 `metastore_uri`。多表读取时,建议使用 
`tables_configs`。`table_list` 仍可作为向后兼容的旧配置,但新作业建议使用 `tables_configs`。
+单表读取时,在根配置中填写 `table_name` 和 `metastore_uri`。多表读取时,请配置 
`table_list`。`tables_configs` 仍可向后兼容使用,但 `table_list` 是当前选项。
 
 ### table_list [array]
 
-已废弃的多表读取配置列表,仅为向后兼容保留。新作业请使用 `tables_configs`。
+多表读取配置列表。每个元素可以包含 
`table_name`、`metastore_uri`、`use_regex`、`read_partitions`、`read_columns`,以及与根配置相同的认证和
 Hadoop 配置。
 
 ### tables_configs [array]
 
-Hive 多表读取配置列表。每个元素可以包含 
`table_name`、`metastore_uri`、`use_regex`、`read_partitions`、`read_columns`,以及与根配置相同的认证和
 Hadoop 配置。
+已废弃的多表配置列表,仅为向后兼容保留;新作业请使用 `table_list`。每个元素可以包含 
`table_name`、`metastore_uri`、`use_regex`、`read_partitions`、`read_columns`,以及与根配置相同的认证和
 Hadoop 配置。
 
 ### use_regex [boolean]
 
@@ -155,12 +155,12 @@ Kerberos 认证的 keytab 文件路径
 ```
 
 ### 示例 3:多表
-> 注意:Hive 是结构化数据源,应使用 `tables_configs`,`table_list` 已在新的 API 中废弃,并将在未来移除。
+> 注意:Hive 是结构化数据源,多表读取请使用 `table_list`;`tables_configs` 已废弃,目前仍向后兼容可用。
 > 也支持在每个表配置中设置 `use_regex = true` 来按正则匹配多表。
 
 ```bash
   Hive {
-    tables_configs = [
+    table_list = [
         {
           table_name = "default.seatunnel_orc_1"
           metastore_uri = "thrift://namenode001:9083"
diff --git a/docs/zh/transforms/dynamic-compile.md 
b/docs/zh/transforms/dynamic-compile.md
index 34adc73930..a5fb41a646 100644
--- a/docs/zh/transforms/dynamic-compile.md
+++ b/docs/zh/transforms/dynamic-compile.md
@@ -78,7 +78,7 @@ SOURCE_CODE,ABSOLUTE_PATH
 
我们将使用`DynamicCompile`对数据进行修改,添加一列`compile_language`字段,并且将`age`字段更新,当`age=20`时将其更新为`40`
 
 - 使用groovy
-```hacon
+```hocon
 transform {
  DynamicCompile {
     plugin_input = "fake"
@@ -136,7 +136,7 @@ transform {
 ```
 
 - 使用java
-```hacon
+```hocon
 transform {
  DynamicCompile {
     plugin_input = "fake"
@@ -191,7 +191,7 @@ transform {
  } 
  ```
 - 指定源码文件路径
-```hacon
+```hocon
  transform {
  DynamicCompile {
     plugin_input = "fake"
@@ -226,7 +226,7 @@ transform {
 
 下面的 Scala 示例演示如何新增 `compile_language` 字段。
 
-```hacon
+```hocon
 transform {
  DynamicCompile {
     plugin_input = "fake"

Reply via email to