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 b434d2e4f4 [Docs][Connector-V2] Improve PostgreSql Rabbitmq Sls Hudi
and Qdrant connector docs (#11779)
b434d2e4f4 is described below
commit b434d2e4f46807a82b0cf4b1a6b52c1e88fd0532
Author: Daniel Carter <[email protected]>
AuthorDate: Sun Nov 1 07:18:13 2026 +0000
[Docs][Connector-V2] Improve PostgreSql Rabbitmq Sls Hudi and Qdrant
connector docs (#11779)
Co-authored-by: DanielCarter-stack
<[email protected]>
Co-authored-by: David Zollo <[email protected]>
---
docs/en/connectors/sink/Hudi.md | 9 ++++++++-
docs/en/connectors/sink/PostgreSql.md | 21 +++++++++++++++-----
docs/en/connectors/sink/Qdrant.md | 10 +++++++++-
docs/en/connectors/sink/Rabbitmq.md | 10 +++++++++-
docs/en/connectors/source/Qdrant.md | 10 +++++++++-
docs/en/connectors/source/Rabbitmq.md | 12 ++++++++++--
docs/en/connectors/source/Sls.md | 36 +++++++++++++++++++++++++++++++++++
docs/zh/connectors/sink/Hudi.md | 8 +++++++-
docs/zh/connectors/sink/PostgreSql.md | 16 +++++++++++++---
docs/zh/connectors/sink/Qdrant.md | 7 ++++++-
docs/zh/connectors/sink/Rabbitmq.md | 8 +++++++-
docs/zh/connectors/source/Qdrant.md | 7 ++++++-
docs/zh/connectors/source/Rabbitmq.md | 11 +++++++++--
docs/zh/connectors/source/Sls.md | 35 ++++++++++++++++++++++++++++++++++
14 files changed, 180 insertions(+), 20 deletions(-)
diff --git a/docs/en/connectors/sink/Hudi.md b/docs/en/connectors/sink/Hudi.md
index f6ec61e93d..5a08174fc0 100644
--- a/docs/en/connectors/sink/Hudi.md
+++ b/docs/en/connectors/sink/Hudi.md
@@ -6,7 +6,14 @@ import ChangeLog from '../changelog/connector-hudi.md';
## Description
-Used to write data to Hudi.
+The Hudi sink connector writes SeaTunnel rows to an Apache Hudi table stored
on HDFS or an
+S3-compatible filesystem. It supports both single-table and multi-table jobs,
with CDC
+changelog persistence, configurable commit cleanup, and pluggable indexing.
+
+Use this connector when you want a copy-on-write or merge-on-read Hudi table
backed by
+SeaTunnel CDC input (e.g. MySQL-CDC, PostgreSQL-CDC) or batch sources. The
connector writes
+Hudi data files plus `.hoodie` metadata and lets you choose between `INSERT`,
`UPSERT`, and
+`BULK_INSERT` write modes through `op_type`.
## Key features
diff --git a/docs/en/connectors/sink/PostgreSql.md
b/docs/en/connectors/sink/PostgreSql.md
index 1b2c456c31..e9916f3484 100644
--- a/docs/en/connectors/sink/PostgreSql.md
+++ b/docs/en/connectors/sink/PostgreSql.md
@@ -12,8 +12,15 @@ import ChangeLog from '../changelog/connector-jdbc.md';
## Description
-Write data through jdbc. Support Batch mode and Streaming mode, support
concurrent writing, support exactly-once
-semantics (using XA transaction guarantee).
+The PostgreSQL Sink connector writes rows to a PostgreSQL database through the
JDBC driver.
+It supports both batch and streaming jobs, concurrent sink writers controlled
by the
+job or pipeline parallelism, and exactly-once semantics through XA
transactions.
+
+Use this connector when the upstream data lands in a relational store and the
target table
+follows the standard PostgreSQL type system described in the data type mapping
section below.
+The connector can write to a fixed `database.table` pair, generate `INSERT`
statements from
+the schema automatically, or apply a custom `query` template, so it covers
both CDC and
+plain bulk-loading workloads.
## Using Dependency
@@ -27,13 +34,16 @@ semantics (using XA transaction guarantee).
## Key Features
+- [x] [batch](../../introduction/concepts/connector-v2-features.md)
+- [x] [stream](../../introduction/concepts/connector-v2-features.md)
- [x] [exactly-once](../../introduction/concepts/connector-v2-features.md)
- [x] [cdc](../../introduction/concepts/connector-v2-features.md)
- [x] [support multiple table
write](../../introduction/concepts/connector-v2-features.md)
- [x] [timer flush](../../introduction/concepts/connector-v2-features.md)
-> Use `Xa transactions` to ensure `exactly-once`. So only support
`exactly-once` for the database which is
-> support `Xa transactions`. You can set `is_exactly_once=true` and
`max_retries=0` to enable it.
+Exactly-once requires XA transaction support in the target database. Set
+`is_exactly_once=true`, `max_retries=0`, and the matching
`xa_data_source_class_name`.
+
## Supported DataSource Info
@@ -142,7 +152,8 @@ When data_save_mode selects CUSTOM_PROCESSING, you should
fill in the CUSTOM_SQL
### Tips
-> If partition_column is not set, it will run in single concurrency, and if
partition_column is set, it will be executed in parallel according to the
concurrency of tasks.
+> Sink concurrency follows the job or pipeline parallelism. `partition_column`
is a JDBC
+> source option for splitting reads; it does not control how the sink
distributes writes.
## Task Example
diff --git a/docs/en/connectors/sink/Qdrant.md
b/docs/en/connectors/sink/Qdrant.md
index 67ac73a637..bc01b8224a 100644
--- a/docs/en/connectors/sink/Qdrant.md
+++ b/docs/en/connectors/sink/Qdrant.md
@@ -14,7 +14,15 @@ import ChangeLog from '../changelog/connector-qdrant.md';
[Qdrant](https://qdrant.tech/) is a high-performance vector search engine and
vector database.
-The Qdrant sink writes SeaTunnel rows into one existing Qdrant collection.
Normal columns are written to the point payload, vector columns are written as
named vectors, and the primary key column is used as the Qdrant point ID when
one is present.
+The Qdrant sink writes SeaTunnel rows into one existing Qdrant collection.
Normal columns
+are written to the point payload, vector columns are written as named vectors,
and the
+primary key column is used as the Qdrant point ID when one is present. It is a
good fit for
+loading vector data from upstream CDC or batch sources, and for mirroring one
Qdrant
+collection into another.
+
+The target collection must already exist with the matching vector names and
dimensions;
+the sink does not create collections, vector indexes, or interpret
`UPDATE`/`DELETE` row
+kinds. It buffers up to 64 points per writer before issuing an upsert batch.
## Key Features
diff --git a/docs/en/connectors/sink/Rabbitmq.md
b/docs/en/connectors/sink/Rabbitmq.md
index 2a9bd78e0b..e084191e9a 100644
--- a/docs/en/connectors/sink/Rabbitmq.md
+++ b/docs/en/connectors/sink/Rabbitmq.md
@@ -12,7 +12,15 @@ import ChangeLog from '../changelog/connector-rabbitmq.md';
## Description
-Used to write data to RabbitMQ queues.
+The RabbitMQ sink connector publishes each upstream row as a message to a
RabbitMQ
+queue, exchange, or routing key. By default messages are sent directly to the
named
+`queue_name` via the default exchange; when `routing_key` (and optionally
`exchange`) is
+configured, the connector routes the message through the specified exchange
instead.
+
+The sink declares the target queue if it does not already exist, applying the
+`durable`, `exclusive`, and `auto_delete` arguments, and reconnects on broker
failures
+using the standard AMQP recovery options (`network_recovery_interval`,
+`topology_recovery_enabled`, `AUTOMATIC_RECOVERY_ENABLED`).
## Key features
diff --git a/docs/en/connectors/source/Qdrant.md
b/docs/en/connectors/source/Qdrant.md
index 20a469340f..de35938f48 100644
--- a/docs/en/connectors/source/Qdrant.md
+++ b/docs/en/connectors/source/Qdrant.md
@@ -14,7 +14,15 @@ import ChangeLog from '../changelog/connector-qdrant.md';
[Qdrant](https://qdrant.tech/) is a high-performance vector search engine and
vector database.
-The Qdrant source reads points from one existing Qdrant collection. Point
payload fields are read as normal SeaTunnel columns, and Qdrant vectors are
read as SeaTunnel vector columns.
+The Qdrant source reads points from one existing Qdrant collection. Point
payload fields are
+read as normal SeaTunnel columns, and Qdrant vectors are read as SeaTunnel
vector columns.
+It is a bounded batch source, so use it for snapshot-style reads (for example,
loading a
+collection to seed a vector index or to feed another store); for continuous
change-capture,
+pair the source with a CDC source and write the resulting rows into Qdrant
through the
+sink connector.
+
+The collection, its vector names, and vector dimensions must already exist
before the job
+starts; the source does not create collections or indexes.
## Key Features
diff --git a/docs/en/connectors/source/Rabbitmq.md
b/docs/en/connectors/source/Rabbitmq.md
index 4f615a3044..51a14530d2 100644
--- a/docs/en/connectors/source/Rabbitmq.md
+++ b/docs/en/connectors/source/Rabbitmq.md
@@ -12,7 +12,14 @@ import ChangeLog from '../changelog/connector-rabbitmq.md';
## Description
-Used to read data from RabbitMQ queues.
+The RabbitMQ source connector reads messages from one or more RabbitMQ queues
and turns
+each AMQP message into a SeaTunnel row. It runs in streaming mode and can
consume from a
+single queue or from several queues at once with the multi-table
`tables_configs` option.
+
+With manual acknowledgement, messages are acknowledged after a checkpoint
completes.
+When `use_correlation_id` is enabled, the connector uses publisher-provided
correlation IDs
+to deduplicate unacknowledged messages. Each configured queue is assigned to
one reader;
+`tables_configs` can distribute different queues across multiple readers.
## Key features
@@ -26,7 +33,8 @@ Used to read data from RabbitMQ queues.
:::tip
-The source must be non-parallel (parallelism set to 1) in order to achieve
exactly-once. This limitation is mainly due to RabbitMQ’s approach to
dispatching messages from a single queue to multiple consumers.
+A single queue is read by one reader. Increasing parallelism does not split
that queue;
+configure distinct queues through `tables_configs` to use multiple readers.
:::
diff --git a/docs/en/connectors/source/Sls.md b/docs/en/connectors/source/Sls.md
index 0e03a529c0..0bc895002b 100644
--- a/docs/en/connectors/source/Sls.md
+++ b/docs/en/connectors/source/Sls.md
@@ -127,6 +127,42 @@ sink {
}
```
+### Discover New Shards Periodically
+
+By default the connector enumerates shards once when the job starts. Set
+`partition-discovery.interval-millis` to a positive value to keep discovering
new shards created
+while the job is running. The example below refreshes the shard list every
five minutes:
+
+```hocon
+env {
+ parallelism = 1
+ job.mode = "STREAMING"
+ checkpoint.interval = 30000
+}
+
+source {
+ Sls {
+ endpoint = "cn-hangzhou-intranet.log.aliyuncs.com"
+ project = "project1"
+ logstore = "logstore1"
+ access_key_id = "xxxxxxxxxxxxxxxxxxxxxxxx"
+ access_key_secret = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
+ consumer_group = "seatunnel-sls-demo"
+ partition-discovery.interval-millis = 300000
+ schema = {
+ fields = {
+ id = "int"
+ name = "string"
+ }
+ }
+ }
+}
+
+sink {
+ Console {}
+}
+```
+
## Changelog
<ChangeLog />
diff --git a/docs/zh/connectors/sink/Hudi.md b/docs/zh/connectors/sink/Hudi.md
index 1c4498095d..fb28bf2fd2 100644
--- a/docs/zh/connectors/sink/Hudi.md
+++ b/docs/zh/connectors/sink/Hudi.md
@@ -6,7 +6,13 @@ import ChangeLog from '../changelog/connector-hudi.md';
## 描述
-用于将数据写入 Hudi。
+Hudi Sink 连接器把 SeaTunnel 的行写入到 Apache Hudi 表中,表可以放在 HDFS 或兼容 S3 的文件系统上。
+它既支持单表作业,也支持多表作业,并提供 CDC 变更日志持久化、可配置的 commit 清理策略以及
+可插拔的索引。
+
+当需要把 SeaTunnel 的 CDC 输入(例如 MySQL-CDC、PostgreSQL-CDC)或批处理源落到 copy-on-write 或
+merge-on-read 的 Hudi 表时,可以使用该连接器。它会写入 Hudi 数据文件以及 `.hoodie` 元数据,并允许通过
+`op_type` 在 `INSERT`、`UPSERT`、`BULK_INSERT` 三种写入模式之间选择。
## 主要特性
diff --git a/docs/zh/connectors/sink/PostgreSql.md
b/docs/zh/connectors/sink/PostgreSql.md
index 04c4fb8e15..ef6d9517b6 100644
--- a/docs/zh/connectors/sink/PostgreSql.md
+++ b/docs/zh/connectors/sink/PostgreSql.md
@@ -12,7 +12,12 @@ import ChangeLog from '../changelog/connector-jdbc.md';
## 描述
-通过 JDBC 写入数据。支持批处理模式和流式模式,支持并发写入,支持精确一次语义(使用 XA 事务保证)。
+PostgreSQL Sink 连接器通过 JDBC 驱动将行写入 PostgreSQL 数据库。支持批处理模式和流式模式,
+写入并发度由作业或管道的并行度控制,并通过 XA 事务保证精确一次语义。
+
+当上游数据需要落到关系型数据库,并且目标表遵循下方“数据类型映射”小节中描述的标准 PostgreSQL
+类型体系时,可以使用该连接器。它既可以写入固定的 `database.table`,也可以根据 schema 自动生成
+`INSERT` 语句,或者使用自定义的 `query` 模板,因此既适合 CDC 场景,也适合纯批量加载场景。
## 使用依赖
@@ -26,12 +31,16 @@ import ChangeLog from '../changelog/connector-jdbc.md';
## 主要特性
+- [x] [批处理](../../introduction/concepts/connector-v2-features.md)
+- [x] [流处理](../../introduction/concepts/connector-v2-features.md)
- [x] [精确一次](../../introduction/concepts/connector-v2-features.md)
- [x] [变更数据捕获(CDC)](../../introduction/concepts/connector-v2-features.md)
- [x] [支持多表写入](../../introduction/concepts/connector-v2-features.md)
- [x] [定时刷新](../../introduction/concepts/connector-v2-features.md)
-> 使用 `XA 事务` 来确保 `精确一次`。因此,仅对支持 `XA 事务` 的数据库支持 `精确一次`。您可以设置
`is_exactly_once=true` 和 `max_retries=0` 来启用此功能。
+精确一次要求目标数据库支持 XA 事务。需要设置 `is_exactly_once=true`、
+`max_retries=0`,并提供对应的 `xa_data_source_class_name`。
+
## 支持的数据源信息
| 数据源 | 支持的版本 | 驱动
| URL |
Maven |
@@ -137,7 +146,8 @@ import ChangeLog from '../changelog/connector-jdbc.md';
### 提示
-> 如果未设置 `partition_column`,它将以单线程并发运行;如果设置了 `partition_column`,它将根据任务的并发性并行执行。
+> Sink 的写入并发度由作业或管道的并行度决定。`partition_column` 是 JDBC Source
+> 用于拆分读取的选项,不控制 Sink 的写入分配。
## 任务示例
diff --git a/docs/zh/connectors/sink/Qdrant.md
b/docs/zh/connectors/sink/Qdrant.md
index 047e088582..88e2fc0416 100644
--- a/docs/zh/connectors/sink/Qdrant.md
+++ b/docs/zh/connectors/sink/Qdrant.md
@@ -14,7 +14,12 @@ import ChangeLog from '../changelog/connector-qdrant.md';
[Qdrant](https://qdrant.tech/) 是一个高性能的向量搜索引擎和向量数据库。
-Qdrant sink 会把 SeaTunnel 行写入一个已经存在的 Qdrant collection。普通列会写入 point
payload,向量列会写成命名向量;如果上游 schema 中有主键列,主键值会作为 Qdrant point ID。
+Qdrant sink 会把 SeaTunnel 行写入一个已经存在的 Qdrant collection。普通列会写入 point payload,
+向量列会写成命名向量;如果上游 schema 中有主键列,主键值会作为 Qdrant point ID。它非常适合把上游 CDC
+或批处理源中的向量数据加载进来,也适合把一个 Qdrant collection 镜像到另一个。
+
+目标 collection 必须已经存在,并且向量名、维度要匹配;sink 不会创建 collection 或向量索引,也不会把
+`UPDATE`/`DELETE` 行类型当作 CDC 语义来执行。每个写入器最多缓存 64 个 point,再发起一次 upsert 请求。
## 主要特性
diff --git a/docs/zh/connectors/sink/Rabbitmq.md
b/docs/zh/connectors/sink/Rabbitmq.md
index b6600b65ab..3ef9843ac1 100644
--- a/docs/zh/connectors/sink/Rabbitmq.md
+++ b/docs/zh/connectors/sink/Rabbitmq.md
@@ -12,7 +12,13 @@ import ChangeLog from '../changelog/connector-rabbitmq.md';
## 描述
-用于将数据写入 RabbitMQ 队列。
+RabbitMQ Sink 连接器会把每一行上游数据发布为一条 RabbitMQ 消息,写入指定的队列、exchange
+或 routing key。默认情况下,消息会通过默认 exchange 直接发送到名为 `queue_name` 的队列;
+当配置了 `routing_key`(可选地同时配置 `exchange`)时,连接器会改为通过指定 exchange 来路由消息。
+
+如果目标队列不存在,连接器会按照 `durable`、`exclusive`、`auto_delete` 等参数声明队列,并使用
+标准的 AMQP 恢复选项(`network_recovery_interval`、`topology_recovery_enabled`、
+`AUTOMATIC_RECOVERY_ENABLED`)在 broker 故障时自动重连。
## 主要特性
diff --git a/docs/zh/connectors/source/Qdrant.md
b/docs/zh/connectors/source/Qdrant.md
index 7c60422be6..b1751208ce 100644
--- a/docs/zh/connectors/source/Qdrant.md
+++ b/docs/zh/connectors/source/Qdrant.md
@@ -14,7 +14,12 @@ import ChangeLog from '../changelog/connector-qdrant.md';
[Qdrant](https://qdrant.tech/) 是一个高性能的向量搜索引擎和向量数据库。
-Qdrant source 用来从一个已经存在的 Qdrant collection 读取 point。point 的 payload 字段会读成普通
SeaTunnel 列,Qdrant 向量会读成 SeaTunnel 向量列。
+Qdrant source 用来从一个已经存在的 Qdrant collection 读取 point。point 的 payload 字段会读成
+普通 SeaTunnel 列,Qdrant 向量会读成 SeaTunnel 向量列。它是一个有界的批处理源,因此适合做快照式读取
+(例如从一个 collection 加载数据来初始化另一个向量索引,或者写入其他存储);如果需要持续捕获变更,
+可以把 CDC 源和这个 sink 连接器配合使用。
+
+作业启动前,collection、它的向量名以及向量维度必须已经存在;source 不会创建 collection 或向量索引。
## 主要特性
diff --git a/docs/zh/connectors/source/Rabbitmq.md
b/docs/zh/connectors/source/Rabbitmq.md
index b9bbe5b87d..dda62932d1 100644
--- a/docs/zh/connectors/source/Rabbitmq.md
+++ b/docs/zh/connectors/source/Rabbitmq.md
@@ -12,7 +12,13 @@ import ChangeLog from '../changelog/connector-rabbitmq.md';
## 描述
-用于从 RabbitMQ 队列读取数据。
+RabbitMQ 源连接器从一个或多个 RabbitMQ 队列中读取消息,并将每条 AMQP 消息转换为一行
+SeaTunnel 数据。它以流处理模式运行,既可以消费单个队列,也可以通过多表选项 `tables_configs`
+同时消费多个队列。
+
+使用手动确认时,连接器在检查点完成后确认消息。开启 `use_correlation_id` 后,
+连接器通过消息发布方提供的 correlation ID 对尚未确认的消息去重。每个配置的队列
+只分配给一个 reader;通过 `tables_configs` 配置的不同队列可以分配到多个 reader。
## 主要特性
@@ -26,7 +32,8 @@ import ChangeLog from '../changelog/connector-rabbitmq.md';
:::tip
-为了实现精确一次,源必须是非并行的(并行度设置为 1)。这个限制主要是由于 RabbitMQ 从单个队列向多个消费者分派消息的方式。
+单个队列只由一个 reader 读取,提高并行度不会拆分该队列。需要使用多个 reader 时,
+请通过 `tables_configs` 配置不同的队列。
:::
diff --git a/docs/zh/connectors/source/Sls.md b/docs/zh/connectors/source/Sls.md
index 16424c3fa2..822d4ba424 100644
--- a/docs/zh/connectors/source/Sls.md
+++ b/docs/zh/connectors/source/Sls.md
@@ -123,6 +123,41 @@ sink {
}
```
+### 周期性发现新 Shard
+
+默认情况下,连接器只在任务启动时枚举一次 shard。把 `partition-discovery.interval-millis`
+设置为正值后,任务运行期间新创建的 shard 也会被持续发现。下面的示例每 5 分钟刷新一次 shard 列表:
+
+```hocon
+env {
+ parallelism = 1
+ job.mode = "STREAMING"
+ checkpoint.interval = 30000
+}
+
+source {
+ Sls {
+ endpoint = "cn-hangzhou-intranet.log.aliyuncs.com"
+ project = "project1"
+ logstore = "logstore1"
+ access_key_id = "xxxxxxxxxxxxxxxxxxxxxxxx"
+ access_key_secret = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
+ consumer_group = "seatunnel-sls-demo"
+ partition-discovery.interval-millis = 300000
+ schema = {
+ fields = {
+ id = "int"
+ name = "string"
+ }
+ }
+ }
+}
+
+sink {
+ Console {}
+}
+```
+
## 变更日志
<ChangeLog />