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

morningman pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/doris-website.git


The following commit(s) were added to refs/heads/master by this push:
     new a1615d9654e Add AWS Kinesis Routine Load docs in EN/ZH/JA (#3521)
a1615d9654e is described below

commit a1615d9654e713929cfaacf634e9165e0e027b21
Author: Refrain <[email protected]>
AuthorDate: Sat Oct 17 05:40:26 2026 +0800

    Add AWS Kinesis Routine Load docs in EN/ZH/JA (#3521)
    
    ## Summary
    
    Document Kinesis Routine Load for the dev version in English and
    Chinese.
    
    - Provide a complete setup and JSON ingestion example, including
    target-table DDL, credentials, IAM/Doris permissions, a producer
    command, and expected query output.
    - Use the actual `kinesis_stream` property. Document the supported
    shard/sequence-number positions and their mutually exclusive
    default-position setting; timestamp position strings are not supported.
    - Explain task progress, lag, pause/resume/stop behavior, errors, and
    throughput considerations.
    - Restore the current sidebar structure and add the page under import
    data sources. Do not resurrect the retired `ja-source` staging tree.
    
    ## Version scope
    
    This is a **dev-only feature**. Current source branches `branch-4.0`,
    `branch-4.1`, and `branch-4.2` do not contain Kinesis Routine Load, so a
    4.x counterpart would describe unavailable functionality. The guide
    states this limitation in both languages.
    
    ## Validation
    
    - Checked FE `KinesisDataSourceProperties`, `KinesisRoutineLoadJob`, and
    BE `data_consumer.cpp` / `kinesis_conf.cpp` at Doris master.
    - Compared the existing Kinesis regression tests for creation, shard
    positions, and SHOW fields.
    - Rebased on current website master and resolved navigation/deleted-file
    conflicts.
    - `git diff --check` and Docusaurus Markdown/MDX compilation pass.
    - Documentation governance checks introduce no errors. The missing-4.x
    warning is intentional and explained above.
    - No live AWS ingestion test was run during this documentation audit.
    
    ---------
    
    Co-authored-by: morningman <[email protected]>
---
 .../data-operate/import/data-source/aws-kinesis.md | 138 +++++++++++++++++++++
 .../data-operate/import/data-source/aws-kinesis.md | 138 +++++++++++++++++++++
 sidebars.ts                                        |   1 +
 3 files changed, 277 insertions(+)

diff --git a/docs/data-operate/import/data-source/aws-kinesis.md 
b/docs/data-operate/import/data-source/aws-kinesis.md
new file mode 100644
index 00000000000..3f3d4aa0add
--- /dev/null
+++ b/docs/data-operate/import/data-source/aws-kinesis.md
@@ -0,0 +1,138 @@
+---
+{
+    "title": "AWS Kinesis",
+    "language": "en",
+    "description": "Continuously load AWS Kinesis Data Streams into Apache 
Doris with Routine Load: setup, authentication, shard positions, and 
troubleshooting."
+}
+---
+
+Routine Load can continuously read AWS Kinesis Data Streams and load records 
into Doris tables. A stream contains shards; Doris tracks progress using a 
sequence number for each shard.
+
+:::info Version
+Kinesis Routine Load is available in the dev version. The 4.x source branches 
do not include this data source; this guide does not apply to those versions.
+:::
+
+## Prerequisites
+
+- Use a Doris build that includes Kinesis Routine Load. BEs must be able to 
reach the Kinesis endpoint.
+- Prepare a Kinesis stream and credentials that allow `kinesis:ListShards`, 
`kinesis:GetShardIterator`, and `kinesis:GetRecords` on it.
+- Use a Doris account with database/table creation permissions and `LOAD_PRIV` 
on the target table. Administrative operations on an existing job also require 
the appropriate load permission.
+- For the producer command below, configure the AWS CLI with credentials that 
have `kinesis:PutRecord` permission. Use a dedicated test stream, or account 
for existing records in the stream.
+
+Doris supports an access-key/secret-key pair, temporary credentials with a 
session token, an assumed IAM role, or the AWS default credential chain 
available to the BE process. For general AWS credential guidance, see [AWS 
Authentication](../../../admin-manual/auth/integrations/aws-authentication-and-authorization.md).
+
+## Quick Start
+
+### 1. Create a database and target table
+
+Run the following SQL with a MySQL client. The example uses one replica for a 
single-BE development cluster; choose an appropriate replica count for 
production.
+
+```sql
+CREATE DATABASE IF NOT EXISTS kinesis_demo;
+USE kinesis_demo;
+
+CREATE TABLE kinesis_events (
+    id BIGINT NOT NULL,
+    name STRING
+)
+UNIQUE KEY(id)
+DISTRIBUTED BY HASH(id) BUCKETS 1
+PROPERTIES ("replication_num" = "1");
+```
+
+### 2. Create a Routine Load job
+
+Replace the stream name, region, and credentials before running this 
statement. The property is `kinesis_stream`, without an `aws.` prefix. 
`TRIM_HORIZON` reads from the oldest records still retained by the stream.
+
+```sql
+CREATE ROUTINE LOAD kinesis_demo.kinesis_job ON kinesis_events
+COLUMNS(id, name)
+PROPERTIES (
+    "format" = "json",
+    "desired_concurrent_number" = "1"
+)
+FROM KINESIS (
+    "aws.region" = "us-east-1",
+    "kinesis_stream" = "my-test-stream",
+    "aws.access_key" = "<access_key>",
+    "aws.secret_key" = "<secret_key>",
+    "property.kinesis_default_pos" = "TRIM_HORIZON"
+);
+```
+
+For BE environments that already have an appropriate default AWS credential 
chain, omit the access-key and secret-key properties. See the parameter 
reference for role and temporary-credential settings.
+
+### 3. Write a test record and verify it
+
+From a shell with AWS CLI v2 configured for the test stream:
+
+```shell
+aws kinesis put-record \
+  --region us-east-1 \
+  --stream-name my-test-stream \
+  --partition-key 1 \
+  --cli-binary-format raw-in-base64-out \
+  --data '{"id":1,"name":"Alice"}'
+```
+
+The command returns a shard ID and sequence number. Routine Load runs 
asynchronously. After the job consumes and commits the record, query Doris:
+
+```sql
+SELECT id, name FROM kinesis_demo.kinesis_events WHERE id = 1;
+```
+
+```text
++----+-------+
+| id | name  |
++----+-------+
+|  1 | Alice |
++----+-------+
+```
+
+## Parameters
+
+All properties below belong to the `FROM KINESIS (...)` clause. Omitted 
optional properties retain their defaults. General job properties such as 
`format`, `jsonpaths`, and `desired_concurrent_number` belong to `PROPERTIES 
(...)`; see [Routine Load](../import-way/routine-load-manual.md).
+
+| Parameter | Type / Required | Default | Description |
+| --- | --- | --- | --- |
+| `aws.region` | String; required | None | Region containing the stream, such 
as `us-east-1`. |
+| `kinesis_stream` | String; required | None | Stream name. Do not use 
`aws.kinesis_stream`. |
+| `aws.endpoint` | String; optional | AWS endpoint for the region | Custom 
Kinesis endpoint, for example a LocalStack endpoint. The legacy alias 
`kinesis_endpoint` is also accepted; prefer `aws.endpoint`. |
+| `aws.access_key` | String; optional | AWS default credential chain when no 
explicit credentials are supplied | Access-key ID. Must be supplied together 
with `aws.secret_key`. |
+| `aws.secret_key` | String; optional | None | Secret key paired with 
`aws.access_key`. |
+| `aws.session_key` | String; optional | None | Session token for temporary 
credentials. |
+| `aws.role_arn` | String; optional | None | IAM role to assume; the 
credential identity must be allowed to assume it. |
+| `kinesis_shards` | Comma-separated string; optional | Automatically discover 
shards | Shard IDs to consume. |
+| `kinesis_shards_pos` | Comma-separated string; optional | `LATEST` for each 
explicitly listed shard | Positions corresponding one-to-one to 
`kinesis_shards`. Each value is `TRIM_HORIZON`, `LATEST`, or a sequence number. 
A sequence number starts consumption **after** that record. |
+| `property.kinesis_default_pos` | String; optional | `LATEST` | Default start 
position: `TRIM_HORIZON`, `LATEST`, or a sequence number. Cannot be combined 
with `kinesis_shards_pos`. Timestamp strings are not supported. |
+| Other `property.*` | String; optional | Depends on the BE option | Forwarded 
to the BE after stripping `property.`. For example, `property.aws.external.id` 
supplies an external ID for role assumption and requires a role ARN. Only use 
options supported by the BE. |
+
+## Monitor and Manage the Job
+
+```sql
+SHOW ROUTINE LOAD FOR kinesis_demo.kinesis_job;
+```
+
+| Field | Expected meaning |
+| --- | --- |
+| `State` | `RUNNING` after the job is scheduled and can read the stream. 
Inspect the pause reason if the job is `PAUSED`. |
+| `DataSourceType` | `KINESIS`. |
+| `DataSourceProperties` | Region, stream, endpoint, and configured shards. |
+| `Progress` | Per-shard sequence-number progress. Sequence numbers are not 
Kafka offsets and cannot be added together to count records. |
+| `Lag` | Per-shard lag in milliseconds behind the latest record, when 
available. |
+
+```sql
+PAUSE ROUTINE LOAD FOR kinesis_demo.kinesis_job;
+RESUME ROUTINE LOAD FOR kinesis_demo.kinesis_job;
+STOP ROUTINE LOAD FOR kinesis_demo.kinesis_job;
+```
+
+`PAUSE` stops scheduling new tasks and allows the job to be resumed. `STOP` 
permanently ends the job; a stopped job cannot be resumed.
+
+## Caveats and Best Practices
+
+- The default `LATEST` does not replay historical records. Use `TRIM_HORIZON` 
for the oldest retained data, or explicit shard positions for controlled 
replay. Data already expired from Kinesis cannot be recovered by changing the 
start position.
+- Explicit shard IDs and positions must have the same number of entries. Do 
not combine `kinesis_shards_pos` and `property.kinesis_default_pos`.
+- If creation reports an invalid property, check the spelling and the 
distinction between job properties and source properties. In particular, 
`aws.kinesis_stream` and timestamp start-position strings are invalid.
+- If the job pauses, inspect `SHOW ROUTINE LOAD` and BE logs for 
authentication, endpoint, shard, and data-format errors. JSON records must 
match the target columns or the configured mappings.
+- Use representative stream throughput to size concurrency. Kinesis read 
limits and shard distribution can limit throughput; adding tasks cannot bypass 
AWS per-shard limits.
diff --git 
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/data-operate/import/data-source/aws-kinesis.md
 
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/data-operate/import/data-source/aws-kinesis.md
new file mode 100644
index 00000000000..a289e35c553
--- /dev/null
+++ 
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/data-operate/import/data-source/aws-kinesis.md
@@ -0,0 +1,138 @@
+---
+{
+    "title": "AWS Kinesis",
+    "language": "zh-CN",
+    "description": "通过 Routine Load 将 AWS Kinesis Data Streams 持续导入 Apache 
Doris,涵盖准备、认证、分片起始位置和故障处理。"
+}
+---
+
+Routine Load 可以持续读取 AWS Kinesis Data Streams,并将记录导入 Doris 表。一个 Stream 包含多个 
Shard,Doris 使用每个 Shard 的 Sequence Number 跟踪消费进度。
+
+:::info 版本说明
+Kinesis Routine Load 在 dev 版本提供。4.x 源码分支尚未包含该数据源,本文不适用于这些版本。
+:::
+
+## 前置条件
+
+- 使用包含 Kinesis Routine Load 的 Doris 构建版本。BE 必须能够访问 Kinesis 服务端点。
+- 准备 Kinesis Stream 和凭据,授予目标 Stream 的 
`kinesis:ListShards`、`kinesis:GetShardIterator`、`kinesis:GetRecords` 权限。
+- Doris 账户需要创建数据库和表的权限,以及目标表的 `LOAD_PRIV`。管理已有任务也需要相应的导入权限。
+- 以下生产消息的命令需要配置 AWS CLI,并授予 `kinesis:PutRecord` 权限。请使用专门的测试 Stream,或者考虑 Stream 
中已有的记录。
+
+Doris 支持 Access Key / Secret Key、携带 Session Token 的临时凭据、承担 IAM Role,以及 BE 
进程可以使用的 AWS 默认凭据链。通用 AWS 认证说明参见 [AWS 
认证与鉴权](../../../admin-manual/auth/integrations/aws-authentication-and-authorization.md)。
+
+## 快速开始
+
+### 1. 创建数据库和目标表
+
+使用 MySQL 客户端执行以下 SQL。示例使用单副本,可在单 BE 开发集群运行;生产环境应选择适当的副本数。
+
+```sql
+CREATE DATABASE IF NOT EXISTS kinesis_demo;
+USE kinesis_demo;
+
+CREATE TABLE kinesis_events (
+    id BIGINT NOT NULL,
+    name STRING
+)
+UNIQUE KEY(id)
+DISTRIBUTED BY HASH(id) BUCKETS 1
+PROPERTIES ("replication_num" = "1");
+```
+
+### 2. 创建 Routine Load 任务
+
+执行前替换 Stream 名、区域和凭据。属性名为 `kinesis_stream`,没有 `aws.` 前缀。`TRIM_HORIZON` 从 
Stream 中仍被保留的最早记录开始读取。
+
+```sql
+CREATE ROUTINE LOAD kinesis_demo.kinesis_job ON kinesis_events
+COLUMNS(id, name)
+PROPERTIES (
+    "format" = "json",
+    "desired_concurrent_number" = "1"
+)
+FROM KINESIS (
+    "aws.region" = "us-east-1",
+    "kinesis_stream" = "my-test-stream",
+    "aws.access_key" = "<access_key>",
+    "aws.secret_key" = "<secret_key>",
+    "property.kinesis_default_pos" = "TRIM_HORIZON"
+);
+```
+
+如果 BE 已配置可用的 AWS 默认凭据链,可以省略 Access Key 和 Secret Key 属性。角色和临时凭据的配置参见参数表。
+
+### 3. 写入测试记录并验证
+
+在已为测试 Stream 配置 AWS CLI v2 的 Shell 中执行:
+
+```shell
+aws kinesis put-record \
+  --region us-east-1 \
+  --stream-name my-test-stream \
+  --partition-key 1 \
+  --cli-binary-format raw-in-base64-out \
+  --data '{"id":1,"name":"Alice"}'
+```
+
+命令返回 Shard ID 和 Sequence Number。Routine Load 异步运行;任务消费并提交该记录后,在 Doris 中查询:
+
+```sql
+SELECT id, name FROM kinesis_demo.kinesis_events WHERE id = 1;
+```
+
+```text
++----+-------+
+| id | name  |
++----+-------+
+|  1 | Alice |
++----+-------+
+```
+
+## 参数
+
+下表属性均放在 `FROM KINESIS (...)` 
中。可选属性省略时使用默认值。`format`、`jsonpaths`、`desired_concurrent_number` 等通用任务属性放在 
`PROPERTIES (...)` 中,参见 [Routine Load](../import-way/routine-load-manual.md)。
+
+| 参数 | 类型 / 是否必填 | 默认值 | 说明 |
+| --- | --- | --- | --- |
+| `aws.region` | 字符串;必填 | 无 | Stream 所在区域,例如 `us-east-1`。 |
+| `kinesis_stream` | 字符串;必填 | 无 | Stream 名称。不要使用 `aws.kinesis_stream`。 |
+| `aws.endpoint` | 字符串;可选 | 对应区域的 AWS 服务端点 | 自定义 Kinesis 服务端点,例如 LocalStack 
地址。兼容旧别名 `kinesis_endpoint`,建议使用 `aws.endpoint`。 |
+| `aws.access_key` | 字符串;可选 | 未显式提供凭据时使用 AWS 默认凭据链 | Access Key ID,必须与 
`aws.secret_key` 一起设置。 |
+| `aws.secret_key` | 字符串;可选 | 无 | 与 `aws.access_key` 配对的 Secret Key。 |
+| `aws.session_key` | 字符串;可选 | 无 | 临时凭据的 Session Token。 |
+| `aws.role_arn` | 字符串;可选 | 无 | 要承担的 IAM Role;凭据身份需要有承担该角色的权限。 |
+| `kinesis_shards` | 逗号分隔字符串;可选 | 自动发现 Shard | 要消费的 Shard ID。 |
+| `kinesis_shards_pos` | 逗号分隔字符串;可选 | 显式列出 Shard 时,每个 Shard 使用 `LATEST` | 与 
`kinesis_shards` 一一对应的位置;每项为 `TRIM_HORIZON`、`LATEST` 或 Sequence Number。指定 
Sequence Number 时,从该记录**之后**开始消费。 |
+| `property.kinesis_default_pos` | 字符串;可选 | `LATEST` | 默认起始位置,可为 
`TRIM_HORIZON`、`LATEST` 或 Sequence Number。不能与 `kinesis_shards_pos` 
同时使用,不支持时间戳字符串。 |
+| 其他 `property.*` | 字符串;可选 | 取决于 BE 选项 | 去除 `property.` 前缀后透传给 BE。例如 
`property.aws.external.id` 提供承担角色的 External ID,需要同时配置 Role ARN。仅使用 BE 支持的选项。 |
+
+## 查看和管理任务
+
+```sql
+SHOW ROUTINE LOAD FOR kinesis_demo.kinesis_job;
+```
+
+| 字段 | 预期含义 |
+| --- | --- |
+| `State` | 任务被调度且可读取 Stream 后为 `RUNNING`。若为 `PAUSED`,请检查暂停原因。 |
+| `DataSourceType` | `KINESIS`。 |
+| `DataSourceProperties` | 区域、Stream、服务端点和配置的 Shard。 |
+| `Progress` | 每个 Shard 的 Sequence Number 进度。Sequence Number 不是 Kafka 
Offset,不能相加计算记录数。 |
+| `Lag` | 可获取时,返回各 Shard 落后于最新记录的毫秒数。 |
+
+```sql
+PAUSE ROUTINE LOAD FOR kinesis_demo.kinesis_job;
+RESUME ROUTINE LOAD FOR kinesis_demo.kinesis_job;
+STOP ROUTINE LOAD FOR kinesis_demo.kinesis_job;
+```
+
+`PAUSE` 停止调度新任务,之后可以恢复。`STOP` 永久结束任务,不能恢复已停止的任务。
+
+## 注意事项和最佳实践
+
+- 默认的 `LATEST` 不会重放历史记录。如需读取最早保留的数据,使用 `TRIM_HORIZON`;如需控制重放位置,指定各 Shard 
的位置。Kinesis 已过期的数据无法通过修改起始位置恢复。
+- 显式 Shard ID 和位置的数量必须一致。不要同时设置 `kinesis_shards_pos` 和 
`property.kinesis_default_pos`。
+- 创建时若提示属性无效,请检查拼写以及任务属性、数据源属性的区别。`aws.kinesis_stream` 和时间戳形式的起始位置均无效。
+- 任务暂停时,检查 `SHOW ROUTINE LOAD` 和 BE 日志中的认证、服务端点、Shard 和数据格式错误。JSON 
记录需要与目标列或列映射相匹配。
+- 根据实际 Stream 吞吐量设置并发度。Kinesis 读取限制和 Shard 分布会限制吞吐,增加任务数无法绕过 AWS 的单 Shard 限制。
diff --git a/sidebars.ts b/sidebars.ts
index c04c166a0a9..79f280b247f 100644
--- a/sidebars.ts
+++ b/sidebars.ts
@@ -338,6 +338,7 @@ const sidebars: SidebarsConfig = {
                         'data-operate/import/data-source/local-file',
                         'data-operate/import/data-source/kafka',
                         'data-operate/import/data-source/aws-msk',
+                                'data-operate/import/data-source/aws-kinesis',
                         'data-operate/import/data-source/flink',
                         'data-operate/import/data-source/hdfs',
                         'data-operate/import/data-source/amazon-s3',


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

Reply via email to