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

zhangshenghang 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 608dd291f0 [Docs][Connector-V2] Improve HugeGraph Kafka and OssFile 
docs (#11296)
608dd291f0 is described below

commit 608dd291f01050ab1110fe201acea9c9c8284f93
Author: Daniel Carter <[email protected]>
AuthorDate: Sat Jul 4 09:54:26 2026 +0800

    [Docs][Connector-V2] Improve HugeGraph Kafka and OssFile docs (#11296)
    
    Co-authored-by: DanielCarter-stack 
<[email protected]>
---
 docs/en/connectors/sink/HugeGraph.md | 29 ++++++++++++++++++---------
 docs/en/connectors/sink/Kafka.md     |  5 ++++-
 docs/en/connectors/sink/OssFile.md   |  4 +++-
 docs/en/connectors/source/Kafka.md   | 39 +++++++++++++++++++++++++++++++-----
 docs/en/connectors/source/OssFile.md |  3 +--
 docs/zh/connectors/sink/HugeGraph.md | 29 ++++++++++++++++++---------
 docs/zh/connectors/sink/Kafka.md     |  5 ++++-
 docs/zh/connectors/sink/OssFile.md   |  6 ++++--
 docs/zh/connectors/source/Kafka.md   | 39 +++++++++++++++++++++++++++++++-----
 9 files changed, 124 insertions(+), 35 deletions(-)

diff --git a/docs/en/connectors/sink/HugeGraph.md 
b/docs/en/connectors/sink/HugeGraph.md
index 6f1ef4bdfa..fe545daaa6 100644
--- a/docs/en/connectors/sink/HugeGraph.md
+++ b/docs/en/connectors/sink/HugeGraph.md
@@ -10,12 +10,21 @@ The HugeGraph sink connector allows you to write data from 
SeaTunnel to Apache H
 
 This connector supports writing data as vertices or edges, providing flexible 
mapping from relational data models to graph structures. It is designed for 
high-performance data loading.
 
-## Features
+## Key Features
 
-- **Batch Writing**: Data is written in batches for high throughput.
-- **Flexible Mapping**: Supports flexible mapping of source fields to 
vertex/edge properties.
-- **Vertex and Edge Writing**: Can write data as either vertices or edges.
-- **Automatic Schema Creation**: Can automatically create graph schema 
elements (property keys, vertex labels, edge labels) if they do not exist.
+- [x] [batch](../../introduction/concepts/connector-v2-features.md)
+- [ ] [exactly-once](../../introduction/concepts/connector-v2-features.md)
+- [ ] [cdc](../../introduction/concepts/connector-v2-features.md)
+- [ ] [support multiple table 
write](../../introduction/concepts/connector-v2-features.md)
+- [x] [timer flush](../../introduction/concepts/connector-v2-features.md)
+
+The connector writes rows as either vertices or edges. It supports insert, 
update, and delete row kinds, and it can flush buffered records by `batch_size` 
or `batch_interval_ms`.
+
+:::caution
+
+The HugeGraph schema must already exist before the job writes data. Create the 
required property keys, vertex labels, and edge labels in HugeGraph first, then 
use `schema_config` to map SeaTunnel fields to that existing graph schema.
+
+:::
 
 ## Configuration Options
 
@@ -24,7 +33,7 @@ This connector supports writing data as vertices or edges, 
providing flexible ma
 | `host`              | String  | Yes      | -             | The host of the 
HugeGraph server.                                              |
 | `port`              | Integer | Yes      | -             | The port of the 
HugeGraph server.                                              |
 | `graph_name`        | String  | Yes      | -             | The name of the 
graph to write to.                                             |
-| `graph_space`       | String  | Yes      | -             | The graph space 
of the graph to be operated on.                                |
+| `graph_space`       | String  | No       | -             | The graph space 
of the graph to be operated on.                                |
 | `username`          | String  | No       | -             | The username for 
HugeGraph authentication.                                     |
 | `password`          | String  | No       | -             | The password for 
HugeGraph authentication.                                     |
 | `batch_size`        | Integer | No       | 500           | The number of 
records to buffer before writing to HugeGraph in a single batch. |
@@ -42,7 +51,7 @@ This connector supports writing data as vertices or edges, 
providing flexible ma
 
 ### Schema Configuration (`schema_config`)
 
-Each object in the `schema_config` list defines a mapping from the source data 
to a specific vertex or edge label in HugeGraph.
+`schema_config` defines how one input stream is mapped to a specific vertex or 
edge label in HugeGraph.
 
 | Name               | Type               | Required   | Default Value | 
Description                                                                     
                         |
 | ------------------ |--------------------| ---------- | ------------- 
|----------------------------------------------------------------------------------------------------------|
@@ -51,9 +60,9 @@ Each object in the `schema_config` list defines a mapping 
from the source data t
 | `properties`       | `List<String>`       | No         | -             | A 
list of source field names for the vertex or edge.                              
                       |
 | `ttl`              | Long               | No         | -             | The 
time-to-live for the vertex or edge in seconds.                                 
                     |
 | `ttlStartTime`     | String             | No         | -             | The 
start time for the TTL.                                                         
                     |
-| `enableLabelIndex` | Boolean            | No         | `false`       | 
Whether to enable label index for this label.                                   
                         |
+| `enableLabelIndex` | String             | No         | -             | 
Reserved label-index setting passed through the schema config.                  
                         |
 | `userdata`         | `Map<String, Object>` | No         | -             | 
User-defined data associated with the label.                                    
                         |
-| `idStrategy`       | String             | For Vertex | -             | The 
ID generation strategy for vertices. Supported values: `PRIMARY_KEY`, 
`CUSTOMIZE_UUID`, `AUTOMATIC`. |
+| `idStrategy`       | String             | For Vertex | -             | The 
ID generation strategy for vertices, such as `PRIMARY_KEY`, `CUSTOMIZE_STRING`, 
`CUSTOMIZE_NUMBER`, `CUSTOMIZE_UUID`, or `AUTOMATIC`. |
 | `idFields`         | `List<string>`       | For Vertex | -             | A 
list of source field names used to generate the vertex ID.                      
                       |
 | `sourceConfig`     | Object             | For Edge   | -             | An 
object defining the mapping for the edge's source vertex. See `Source/Target 
Config` below.           |
 | `targetConfig`     | Object             | For Edge   | -             | An 
object defining the mapping for the edge's target vertex. See `Source/Target 
Config` below.           |
@@ -85,6 +94,8 @@ This object provides advanced control over how fields and 
values are mapped to p
 
 ## Usage Examples
 
+The examples below assume the corresponding HugeGraph schema has already been 
created.
+
 ### 1. Writing Vertices
 
 This example shows how to read from a `FakeSource` and write `person` vertices 
to HugeGraph. The vertex ID is based on the `name` field.
diff --git a/docs/en/connectors/sink/Kafka.md b/docs/en/connectors/sink/Kafka.md
index 3088cb6851..c7b27e62ab 100644
--- a/docs/en/connectors/sink/Kafka.md
+++ b/docs/en/connectors/sink/Kafka.md
@@ -43,7 +43,7 @@ They can be downloaded via install-plugin.sh or from the 
Maven central repositor
 | kafka_headers_fields  | Array  | No       | -       | Configure which fields 
are used as the headers of the kafka message. The field value will be converted 
to a string and used as the header value.                                       
                                                                                
                                                                                
                                                                                
              [...]
 | partition             | Int    | No       | -       | We can specify the 
partition, all messages will be sent to this partition.                         
                                                                                
                                                                                
                                                                                
                                                                                
                  [...]
 | assign_partitions     | Array  | No       | -       | We can decide which 
partition to send based on the content of the message. The function of this 
parameter is to distribute information.                                         
                                                                                
                                                                                
                                                                                
                     [...]
-| transaction_prefix    | String | No       | -       | If semantic is 
specified as EXACTLY_ONCE, the producer will write all messages in a Kafka 
transaction,kafka distinguishes different transactions by different 
transactionId. This parameter is prefix of  kafka  transactionId, make sure 
different job use different prefix.                                             
                                                                                
                                           [...]
+| transaction_prefix    | String | No       | -       | If `semantics` is 
`EXACTLY_ONCE`, the producer writes messages in Kafka transactions. Kafka 
distinguishes transactions by transaction id, so use a different prefix for 
each job.                                                                       
                                                                                
                                                        |
 | format                | String | No       | json    | Data format. The 
default format is json. Optional text, canal_json, debezium_json, 
compatible_debezium_json, ogg_json, maxwell_json, avro, protobuf and native. If 
you use json or text format. The default field separator is ", ". If you 
customize the delimiter, add the "field_delimiter" option.If you use canal 
format, please refer to [canal-json](../formats/canal-json.md) for details.If 
you use debezium format, please refer to [debez [...]
 | field_delimiter       | String | No       | ,       | Customize the field 
delimiter for data format.                                                      
                                                                                
                                                                                
                                                                                
                                                                                
                 [...]
 | common-options        |        | No       | -       | Sink plugin common 
parameters, please refer to [Sink Common 
Options](../common-options/sink-common-options.md) for details                  
                                                                                
                                                                                
                                                                                
                                                         [...]
@@ -76,6 +76,8 @@ In EXACTLY_ONCE, producer will write all messages in a Kafka 
transaction that wi
 In AT_LEAST_ONCE, producer will wait for all outstanding messages in the Kafka 
buffers to be acknowledged by the Kafka producer on a checkpoint.
 NON does not provide any guarantees: messages may be lost in case of issues on 
the Kafka broker and messages may be duplicated.
 
+For `EXACTLY_ONCE`, enable checkpoints and make sure every running job uses a 
unique `transaction_prefix`. Reusing the same transaction prefix across jobs 
can cause Kafka transaction conflicts.
+
 ### Partition Key Fields
 
 For example, if you want to use value of fields from upstream data as key, you 
can assign field names to this property.
@@ -110,6 +112,7 @@ The selected fields must be existing fields in the upstream.
 
 Note:
 Fields configured as Kafka headers will be excluded from the message value 
(payload) and will only be present in the Kafka message headers.
+`kafka_headers_fields` is not supported when `format = native`.
 
 ### Assign Partitions
 
diff --git a/docs/en/connectors/sink/OssFile.md 
b/docs/en/connectors/sink/OssFile.md
index 46fb4c3f86..6f774530cb 100644
--- a/docs/en/connectors/sink/OssFile.md
+++ b/docs/en/connectors/sink/OssFile.md
@@ -97,7 +97,7 @@ If write to `csv`, `text`, `json` file type, All column will 
be string.
 
 | Name                                  | Type    | Required | Default         
                           | Description                                        
                                                                                
                                             |
 
|---------------------------------------|---------|----------|--------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
-| path                                  | string  | yes      | The oss path to 
write file in.             |                                                    
                                                                                
                                             |
+| path                                  | string  | yes      | -               
                           | The OSS path to write files in.                    
                                                                                
                                              |
 | tmp_path                              | string  | no       | /tmp/seatunnel  
                           | The result file will write to a tmp path first and 
then use `mv` to submit tmp dir to target dir. Need a OSS dir.                  
                                             |
 | bucket                                | string  | yes      | -               
                           |                                                    
                                                                                
                                             |
 | access_key                            | string  | yes      | -               
                           |                                                    
                                                                                
                                             |
@@ -141,6 +141,8 @@ If write to `csv`, `text`, `json` file type, All column 
will be string.
 
 The target dir path is required.
 
+For example, set `bucket = "oss://seatunnel-test"` and `path = 
"/warehouse/events"` to write files under 
`oss://seatunnel-test/warehouse/events`.
+
 ### bucket [string]
 
 The bucket address of oss file system, for example: 
`oss://tyrantlucifer-image-bed`
diff --git a/docs/en/connectors/source/Kafka.md 
b/docs/en/connectors/source/Kafka.md
index 1964ac784f..c68dadf137 100644
--- a/docs/en/connectors/source/Kafka.md
+++ b/docs/en/connectors/source/Kafka.md
@@ -36,8 +36,9 @@ They can be downloaded via install-plugin.sh or from the 
Maven central repositor
 
 | Name                                | Type                                   
                                    | Required | Default                  | 
Description                                                                     
                                                                                
                                                                                
                                                                                
                  [...]
 
|-------------------------------------|----------------------------------------------------------------------------|----------|--------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 [...]
-| topic                               | String                                 
                                    | Yes      | -                        | 
Topic name(s) to read data from when the table is used as source. It also 
supports topic list for source by separating topic by comma like 
'topic-1,topic-2'.                                                              
                                                                                
                                       [...]
-| table_list                          | Map                                    
                                    | No       | -                        | 
Topic list config You can configure only one `table_list` and one `topic` at 
the same time                                                                   
                                                                                
                                                                                
                     [...]
+| topic                               | String                                 
                                    | No       | -                        | 
Topic name(s) to read data from when the table is used as source. Required 
unless `tables_configs` or `table_list` is used. It also supports a 
comma-separated topic list like `topic-1,topic-2`.                              
                                                                                
                                   [...]
+| tables_configs                      | List                                   
                                    | No       | -                        | 
Preferred multi-topic table configuration. Only one of `topic`, 
`tables_configs`, and `table_list` can be configured.                           
                                                                                
                                                                                
                                  [...]
+| table_list                          | Map                                    
                                    | No       | -                        | 
Deprecated compatibility option for multi-topic table configuration. Only one 
of `topic`, `tables_configs`, and `table_list` can be configured.               
                                                                                
                                                                                
                    [...]
 | bootstrap.servers                   | String                                 
                                    | Yes      | -                        | 
Comma separated list of Kafka brokers.                                          
                                                                                
                                                                                
                                                                                
                  [...]
 | pattern                             | Boolean                                
                                    | No       | false                    | If 
`pattern` is set to `true`,the regular expression for a pattern of topic names 
to read from. All topics in clients with names that match the specified regular 
expression will be subscribed by the consumer.                                  
                                                                                
                [...]
 | consumer.group                      | String                                 
                                    | No       | SeaTunnel-Consumer-Group | 
`Kafka consumer group id`, used to distinguish different consumer groups.       
                                                                                
                                                                                
                                                                                
                  [...]
@@ -66,6 +67,12 @@ They can be downloaded via install-plugin.sh or from the 
Maven central repositor
 > `start_mode` and consumer-group offsets are only used for the first startup 
 > or for newly
 > discovered partitions that do not have checkpointed state yet.
 
+:::tip
+
+Use `topic` for one topic or a comma-separated topic list. Use 
`tables_configs` when different topics need different schemas or formats. 
`topic`, `tables_configs`, and `table_list` are mutually exclusive.
+
+:::
+
 ### reader_cache_queue_size
 
 The maximum number of poll-result batches that the connector buffers between 
the fetcher thread and the reader thread.
@@ -171,13 +178,35 @@ sink {
 source {
     Kafka {
           topic = ".*seatunnel*."
-          pattern = "true" 
+          pattern = true
           bootstrap.servers = "localhost:9092"
           consumer.group = "seatunnel_group"
     }
 }
 ```
 
+### Dynamic Partition Discovery
+
+For long-running streaming jobs, set `partition-discovery.interval-millis` to 
discover newly added partitions. New partitions start from `start_mode` unless 
the job already has checkpointed offsets for them.
+
+```hocon
+env {
+  job.mode = "STREAMING"
+  checkpoint.interval = 5000
+}
+
+source {
+  Kafka {
+    topic = "seatunnel_topic"
+    bootstrap.servers = "localhost:9092"
+    consumer.group = "seatunnel_group"
+    start_mode = latest
+    partition-discovery.interval-millis = 5000
+    format = json
+  }
+}
+```
+
 ### AWS MSK SASL/SCRAM
 
 Replace the following `${username}` and `${password}` with the configuration 
values in AWS MSK.
@@ -278,7 +307,7 @@ source {
     tables_configs = [
       {
         topic = "^test-ogg-sou.*"
-        pattern = "true"
+        pattern = true
         consumer.group = "ogg_multi_group"
         start_mode = earliest
         schema = {
@@ -335,7 +364,7 @@ source {
     table_list = [
       {
         topic = "^test-ogg-sou.*"
-        pattern = "true"
+        pattern = true
         consumer.group = "ogg_multi_group"
         start_mode = earliest
         schema = {
diff --git a/docs/en/connectors/source/OssFile.md 
b/docs/en/connectors/source/OssFile.md
index 6bc5fb63d5..077907ab42 100644
--- a/docs/en/connectors/source/OssFile.md
+++ b/docs/en/connectors/source/OssFile.md
@@ -200,14 +200,13 @@ If you assign file type to `parquet` `orc`, schema option 
not required, connecto
 | time_format                | string  | no       | HH:mm:ss            | Time 
type format, used to tell connector how to convert string to time, supported as 
the following formats:`HH:mm:ss` `HH:mm:ss.SSS`                                 
                                                                                
                                                                               |
 | filename_extension         | string  | no       | -                   | 
Filter filename extension, which used for filtering files with specific 
extension. Example: `csv` `.txt` `json` `.xml`.                                 
                                                                                
                                                                                
            |
 | skip_header_row_number     | long    | no       | 0                   | Skip 
the first few lines, but only for the txt and csv. For example, set like 
following:`skip_header_row_number = 2`. Then SeaTunnel will skip the first 2 
lines from source files                                                         
                                                                                
         |
-| csv_use_header_line        | boolean | no       | false               | 
Whether to use the header line to parse the file, only used when the 
file_format is `csv` and the file contains the header line that match RFC 4180  
                                                                                
                                                                                
               |
 | schema                     | config  | no       | -                   | The 
schema of upstream data.                                                        
                                                                                
                                                                                
                                                                                
|
 | sheet_name                 | string  | no       | -                   | 
Reader the sheet of the workbook,Only used when file_format is excel.           
                                                                                
                                                                                
                                                                                
    |
 | xml_row_tag                | string  | no       | -                   | 
Specifies the tag name of the data rows within the XML file, only used when 
file_format is xml.                                                             
                                                                                
                                                                                
        |
 | xml_use_attr_format        | boolean | no       | -                   | 
Specifies whether to process data using the tag attribute format, only used 
when file_format is xml.                                                        
                                                                                
                                                                                
        |
 | csv_use_header_line        | boolean | no       | false               | 
Whether to use the header line to parse the file, only used when the 
file_format is `csv` and the file contains the header line that match RFC 4180  
                                                                                
                                                                                
               |
 | compress_codec             | string  | no       | none                | 
Which compress codec the files used.                                            
                                                                                
                                                                                
                                                                                
    |
-| encoding                   | string  | no       | UTF-8               |
+| encoding                   | string  | no       | UTF-8               | File 
encoding, only used when `file_format_type` is `json`, `text`, `csv`, or `xml`. 
                                                                                
                                                                                
                                                                               |
 | null_format                | string  | no       | -                   | Only 
used when file_format_type is text. null_format to define which strings can be 
represented as null. e.g: `\N`                                                  
                                                                                
                                                                                
|
 | binary_chunk_size          | int     | no       | 1024                | Only 
used when file_format_type is binary. The chunk size (in bytes) for reading 
binary files. Default is 1024 bytes. Larger values may improve performance for 
large files but use more memory.                                                
                                                                                
    |
 | binary_complete_file_mode  | boolean | no       | false               | Only 
used when file_format_type is binary. Whether to read the complete file as a 
single chunk instead of splitting into chunks. When enabled, the entire file 
content will be read into memory at once. Default is false.                     
                                                                                
     |
diff --git a/docs/zh/connectors/sink/HugeGraph.md 
b/docs/zh/connectors/sink/HugeGraph.md
index a6bba58e0c..ec6da2a7c8 100644
--- a/docs/zh/connectors/sink/HugeGraph.md
+++ b/docs/zh/connectors/sink/HugeGraph.md
@@ -10,12 +10,21 @@ HugeGraph sink连接器允许您将数据从SeaTunnel写入Apache HugeGraph,
 
 该连接器支持将数据作为顶点或边写入,提供了从关系数据模型到图结构的灵活映射。它专为高性能数据加载而设计。
 
-## 特性
+## 主要特性
 
-- **批量写入**: 数据分批写入,以实现高吞吐量。
-- **灵活映射**: 支持将源字段灵活映射到顶点/边属性。
-- **顶点和边写入**: 可以将数据作为顶点或边写入。
-- **自动创建Schema**: 如果不存在,可以自动创建图Schema元素(属性键、顶点标签、边标签)。
+- [x] [批处理](../../introduction/concepts/connector-v2-features.md)
+- [ ] [精确一次](../../introduction/concepts/connector-v2-features.md)
+- [ ] [CDC](../../introduction/concepts/connector-v2-features.md)
+- [ ] [支持多表写入](../../introduction/concepts/connector-v2-features.md)
+- [x] [定时刷新](../../introduction/concepts/connector-v2-features.md)
+
+该连接器可以把输入行写成顶点或边,支持插入、更新、删除,并且可以按 `batch_size` 或 `batch_interval_ms` 刷新缓存数据。
+
+:::caution
+
+运行任务前,需要先在 HugeGraph 中创建好对应的属性键、顶点标签和边标签。`schema_config` 只负责把 SeaTunnel 
字段映射到已有图结构,不会自动创建 HugeGraph Schema。
+
+:::
 
 ## 配置选项
 
@@ -24,7 +33,7 @@ HugeGraph sink连接器允许您将数据从SeaTunnel写入Apache HugeGraph,
 | `host`              | String  | 是       | -      | HugeGraph服务器的主机。          
                                      |
 | `port`              | Integer | 是       | -      | HugeGraph服务器的端口。          
                                      |
 | `graph_name`        | String  | 是       | -      | 要写入的图的名称。                 
                                    |
-| `graph_space`       | String  | 是       | -      | 要操作的图的图空间。                
                                   |
+| `graph_space`       | String  | 否       | -      | 要操作的图的图空间。                
                                   |
 | `username`          | String  | 否       | -      | 用于HugeGraph身份验证的用户名。      
                                  |
 | `password`          | String  | 否       | -      | 用于HugeGraph身份验证的密码。       
                                   |
 | `batch_size`        | Integer | 否       | 500    | 在单批次写入HugeGraph之前缓冲的记录数。  
                              |
@@ -42,7 +51,7 @@ HugeGraph sink连接器允许您将数据从SeaTunnel写入Apache HugeGraph,
 
 ### Schema配置 (`schema_config`)
 
-`schema_config`列表中的每个对象都定义了从源数据到HugeGraph中特定顶点或边标签的映射。
+`schema_config` 定义一个输入流如何映射到 HugeGraph 中的某个顶点标签或边标签。
 
 | 名称               | 类型                | 是否必须 | 默认值  | 描述                      
                                   |
 | ------------------ | ------------------- | -------- | ------- 
|------------------------------------------------------------|
@@ -51,9 +60,9 @@ HugeGraph sink连接器允许您将数据从SeaTunnel写入Apache HugeGraph,
 | `properties`       | `List<String>`        | 否       | -       | 
顶点或边的源字段名称列表。                                              |
 | `ttl`              | Long                | 否       | -       | 顶点或边的生存时间(秒)。 
                                             |
 | `ttlStartTime`     | String              | 否       | -       | TTL的开始时间。     
                                             |
-| `enableLabelIndex` | Boolean             | 否       | `false` | 是否为此标签启用标签索引。 
                                             |
+| `enableLabelIndex` | String              | 否       | -       | 预留的标签索引配置,会随 
Schema 配置传入。                              |
 | `userdata`         | `Map<String, Object>` | 否       | -       | 
与标签关联的用户定义数据。                                              |
-| `idStrategy`       | String              | 对于顶点 | -       | 
顶点的ID生成策略。支持的值:`PRIMARY_KEY`、`CUSTOMIZE_UUID`、`AUTOMATIC`。 |
+| `idStrategy`       | String              | 对于顶点 | -       | 顶点的 ID 
生成策略,例如:`PRIMARY_KEY`、`CUSTOMIZE_STRING`、`CUSTOMIZE_NUMBER`、`CUSTOMIZE_UUID`、`AUTOMATIC`。
 |
 | `idFields`         | `List<String>`        | 对于顶点 | -       | 
用于生成顶点ID的源字段名称列表。                                          |
 | `sourceConfig`     | Object              | 对于边   | -       | 
定义边的源顶点映射的对象。请参阅下面的`Source/Target Config`。                 |
 | `targetConfig`     | Object              | 对于边   | -       | 
定义边的目标顶点映射的对象。请参阅下面的`Source/Target Config`。                |
@@ -85,6 +94,8 @@ HugeGraph sink连接器允许您将数据从SeaTunnel写入Apache HugeGraph,
 
 ## 使用示例
 
+下面示例默认 HugeGraph 中已经提前创建好对应 Schema。
+
 ### 1. 写入顶点
 
 此示例展示了如何从`FakeSource`读取数据并将`person`顶点写入HugeGraph。顶点ID基于`name`字段。
diff --git a/docs/zh/connectors/sink/Kafka.md b/docs/zh/connectors/sink/Kafka.md
index 50e3c6ceb9..d84e179b17 100644
--- a/docs/zh/connectors/sink/Kafka.md
+++ b/docs/zh/connectors/sink/Kafka.md
@@ -43,7 +43,7 @@ import ChangeLog from '../changelog/connector-kafka.md';
 | kafka_headers_fields | Array  | 否    | -    | 配置字段用作 kafka 
消息的headers。字段值将被转换为字符串并用作 header 值                                              
                                                                                
                                                                                
     |
 | partition            | Int    | 否    | -    | 可以指定分区,所有消息都会发送到此分区            
                                                                                
                                                                                
                                                                    |
 | assign_partitions    | Array  | 否    | -    | 可以根据消息的内容决定发送哪个分区,该参数的作用是分发信息  
                                                                                
                                                                                
                                                                    |
-| transaction_prefix   | String | 否    | -    | 
如果语义指定为EXACTLY_ONCE,生产者将把所有消息写入一个 Kafka 事务中,kafka 通过不同的 transactionId 
来区分不同的事务。该参数是kafka transactionId的前缀,确保不同的作业使用不同的前缀                              
                                                                                
                             |
+| transaction_prefix   | String | 否    | -    | 当 `semantics` 为 `EXACTLY_ONCE` 
时,生产者会把消息写入 Kafka 事务。Kafka 通过 transaction id 区分不同事务,因此不同作业应使用不同前缀。              
                                                                                
                                             |
 | format               | String | 否    | json | 数据格式。默认格式是json。可选 text, 
canal_json, debezium_json, compatible_debezium_json, ogg_json, maxwell_json, 
avro, protobuf 和 native。如果使用 json 或 text 格式,默认字段分隔符是 `,`。如果自定义分隔符,请添加 
`field_delimiter` 选项。如果使用 canal 格式,请参考 
[canal-json](../formats/canal-json.md)。如果使用 debezium 格式,请参阅 
[debezium-json](../formats/debezium-json.md) 了解详细信息 |
 | field_delimiter      | String | 否    | ,    | 自定义数据格式的字段分隔符                  
                                                                                
                                                                                
                                                                    |
 | common-options       |        | 否    | -    | Sink插件常用参数,请参考 [Sink常用选项 
](../common-options/sink-common-options.md) 了解详情                                
                                                                                
                                                                                
         |
@@ -75,6 +75,8 @@ import ChangeLog from '../changelog/connector-kafka.md';
 在 AT_LEAST_ONCE 中,生产者将等待 Kafka 缓冲区中所有未完成的消息在检查点上被 Kafka 
生产者确认,该模式下能保证数据至少写入kafka一次,即使任务失败
 NON 不提供任何保证:如果 Kafka 代理出现问题,消息可能会丢失,并且消息可能会重复,该模式下,任务失败重试可能会产生数据丢失或重复。
 
+使用 `EXACTLY_ONCE` 时需要开启 checkpoint,并确保每个运行中的作业使用唯一的 
`transaction_prefix`。多个作业复用同一个事务前缀,可能导致 Kafka 事务冲突。
+
 ### 分区关键字段
 
 例如,如果你想使用上游数据中的字段值作为键,可以将这些字段名指定给此属性
@@ -109,6 +111,7 @@ NON 不提供任何保证:如果 Kafka 代理出现问题,消息可能会丢
 
 注意:
 配置为 Kafka headers 的字段将不会包含在消息的 value(payload)中,而只会存在于 Kafka 消息的 headers 中。
+`format = native` 时不支持 `kafka_headers_fields`。
 
 ### 分区分配
 
diff --git a/docs/zh/connectors/sink/OssFile.md 
b/docs/zh/connectors/sink/OssFile.md
index e377655074..0ab3c01c7f 100644
--- a/docs/zh/connectors/sink/OssFile.md
+++ b/docs/zh/connectors/sink/OssFile.md
@@ -19,7 +19,7 @@ import ChangeLog from '../changelog/connector-file-oss.md';
 
 ### 适用于SeaTunnel Zeta引擎
 
-1. 您必须确保在`${seatunnel_HOME}/lib/`目录中有`seatunnel-hadopp3-3.1.4-uber.jar 
`、`aliyun-sdk-oss-3.4.1.jar `、` hadoop-aliyun-3.1.4.jar`和`jdom-1.1.jar `。
+1. 
您必须确保在`${SEATUNNEL_HOME}/lib/`目录中有`seatunnel-hadoop3-3.1.4-uber.jar`、`aliyun-sdk-oss-3.4.1.jar`、`hadoop-aliyun-3.1.4.jar`和`jdom-1.1.jar`。
 
 ## 关键特性
 
@@ -99,7 +99,7 @@ import ChangeLog from '../changelog/connector-file-oss.md';
 
 | 名称                                    | 类型      | 必需 | 默认值                   
                     | 描述                                                       
         |
 
|---------------------------------------|---------|----|--------------------------------------------|-------------------------------------------------------------------|
-| path                                  | string  | 是  | 写入文件的oss路径。           
                     |                                                          
         |
+| path                                  | string  | 是  | -                     
                     | 写入文件的 OSS 路径。                                            
       |
 | tmp_path                              | string  | 否  | /tmp/seatunnel        
                     | 结果文件将首先写入tmp路径,然后使用`mv`将tmp-dir提交到目标dir。因此需要一个OSS目录。     
         |
 | bucket                                | string  | 是  | -                     
                     |                                                          
         |
 | access_key                            | string  | 是  | -                     
                     |                                                          
         |
@@ -141,6 +141,8 @@ import ChangeLog from '../changelog/connector-file-oss.md';
 
 目标目录路径是必需的。
 
+例如,配置 `bucket = "oss://seatunnel-test"` 且 `path = "/warehouse/events"` 时,文件会写入 
`oss://seatunnel-test/warehouse/events`。
+
 ### bucket [string]
 
 oss文件系统的bucket地址,例如:`oss://tyrantlucifer-image-bed`
diff --git a/docs/zh/connectors/source/Kafka.md 
b/docs/zh/connectors/source/Kafka.md
index 023f4087b3..0b396000b0 100644
--- a/docs/zh/connectors/source/Kafka.md
+++ b/docs/zh/connectors/source/Kafka.md
@@ -36,8 +36,9 @@ import ChangeLog from '../changelog/connector-kafka.md';
 
 | 名称                                  | 类型                                  | 
是否必填 | 默认值                          | 描述                                        
                                                                                
                                                                                
                                                                                
                                     |
 
|-------------------------------------|-------------------------------------|------|------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
-| topic                               | String                              | 
是    | -                            | 使用表作为数据源时要读取数据的主题名称。它也支持通过逗号分隔的多个主题列表,例如 
'topic-1,topic-2'。                                                              
                                                                                
                                                                                
                                      |
-| table_list                          | Map                                 | 
否    | -                            | 主题列表配置,你可以同时配置一个 `table_list` 和一个 
`topic`。                                                                        
                                                                                
                                                                                
                                             |
+| topic                               | String                              | 
否    | -                            | 使用表作为数据源时要读取数据的主题名称。未使用 `tables_configs` 
或 `table_list` 时需要配置。也支持通过逗号分隔多个主题,例如 `topic-1,topic-2`。                        
                                                                                
                                                                                
                                 |
+| tables_configs                      | List                                | 
否    | -                            | 推荐使用的多主题表配置。当不同 topic 需要不同 schema 或 
format 时使用。`topic`、`tables_configs`、`table_list` 三者只能配置一个。                      
                                                                                
                                                                                
                             |
+| table_list                          | Map                                 | 
否    | -                            | 
旧版兼容的多主题表配置。`topic`、`tables_configs`、`table_list` 三者只能配置一个。                     
                                                                                
                                                                                
                                                                             |
 | bootstrap.servers                   | String                              | 
是    | -                            | 逗号分隔的 Kafka brokers 列表。                   
                                                                                
                                                                                
                                                                                
                                     |
 | pattern                             | Boolean                             | 
否    | false                        | 如果 `pattern` 设置为 
`true`,则会使用指定的正则表达式匹配并订阅主题。                                                     
                                                                                
                                                                                
                                                              |
 | consumer.group                      | String                              | 
否    | SeaTunnel-Consumer-Group     | `Kafka 消费者组 ID`,用于区分不同的消费者组。              
                                                                                
                                                                                
                                                                                
                                     |
@@ -65,6 +66,12 @@ import ChangeLog from '../changelog/connector-kafka.md';
 > 从 checkpoint 或 savepoint 恢复时,Kafka Source 会优先使用 checkpoint 中保存的 split offset。
 > `start_mode` 和 consumer group offset 只在首次启动,或为尚未存在 checkpoint 
 > 状态的新发现分区初始化位点时生效。
 
+:::tip
+
+读取一个或多个 topic 时使用 `topic`。如果不同 topic 需要不同的 schema 或 format,请使用 
`tables_configs`。`topic`、`tables_configs`、`table_list` 互斥,不能同时配置。
+
+:::
+
 ### reader_cache_queue_size
 
 连接器在 Fetcher 线程和 Reader 线程之间缓冲的 poll 结果批次的最大数量。
@@ -169,13 +176,35 @@ sink {
 source {
     Kafka {
           topic = ".*seatunnel*."
-          pattern = "true" 
+          pattern = true
           bootstrap.servers = "localhost:9092"
           consumer.group = "seatunnel_group"
     }
 }
 ```
 
+### 动态发现分区
+
+流任务运行期间,如果 Kafka topic 会新增分区,可以配置 `partition-discovery.interval-millis` 
定时发现新分区。新分区没有 checkpoint 位点时,会按 `start_mode` 初始化消费位置。
+
+```hocon
+env {
+  job.mode = "STREAMING"
+  checkpoint.interval = 5000
+}
+
+source {
+  Kafka {
+    topic = "seatunnel_topic"
+    bootstrap.servers = "localhost:9092"
+    consumer.group = "seatunnel_group"
+    start_mode = latest
+    partition-discovery.interval-millis = 5000
+    format = json
+  }
+}
+```
+
 ### AWS MSK SASL/SCRAM
 
 将以下 `${username}` 和 `${password}` 替换为 AWS MSK 中的配置值。
@@ -269,7 +298,7 @@ source {
     tables_configs = [
       {
         topic = "^test-ogg-sou.*"
-        pattern = "true"
+        pattern = true
         consumer.group = "ogg_multi_group"
         start_mode = earliest
         schema = {
@@ -327,7 +356,7 @@ source {
     table_list = [
       {
         topic = "^test-ogg-sou.*"
-        pattern = "true"
+        pattern = true
         consumer.group = "ogg_multi_group"
         start_mode = earliest
         schema = {


Reply via email to