Skip to content

Commit 25c3833

Browse files
💬Generate LLM translations (#2275)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
1 parent a72ecfb commit 25c3833

File tree

3 files changed

+61
-42
lines changed

3 files changed

+61
-42
lines changed

docs/cn/guides/40-load-data/02-load-db/flink-cdc.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@
22
title: Flink CDC
33
---
44

5-
参见 [Flink CDC](/guides/migrate/mysql#flink-cdc)
5+
参见 [Flink CDC](/tutorials/migrate/migrating-from-mysql-with-flink-cdc)

docs/cn/tutorials/migrate/index.md

Lines changed: 31 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -4,46 +4,59 @@ title: 数据迁移到 Databend
44

55
# 数据迁移到 Databend
66

7-
选择您的源数据库和迁移需求,以找到最适合迁移到 Databend 的方法。
7+
选择您的源数据库和迁移需求,找到最适合迁移到 Databend 的方法。
88

99
## MySQL 到 Databend
1010

11+
Databend 支持从 MySQL 迁移的两种主要方法:
12+
13+
| 迁移方法 | 推荐工具 | 支持的 MySQL 版本 |
14+
|--------------------------|------------------------------|--------------------------|
15+
| 批量加载 | db-archiver | 所有 MySQL 版本 |
16+
| CDC 持续同步 | Debezium | 所有 MySQL 版本 |
17+
1118
### 何时选择实时迁移 (CDC)
1219

13-
> **推荐**: 对于实时迁移,我们推荐 **Debezium** 作为默认选择。
20+
> **推荐**对于实时迁移,我们推荐 **Debezium** 作为默认选择。
1421
15-
- 您需要持续的数据同步,且延迟最小
16-
- 您需要捕获所有数据更改(插入、更新、删除
22+
- 您需要最小延迟的持续数据同步
23+
- 您需要捕获所有数据变更 (插入、更新、删除)
1724

18-
| 工具 | 功能 | 最佳使用场景 | 选择理由 |
25+
| 工具 | 功能 | 最适合 | 选择条件 |
1926
|------|------------|----------|-------------|
20-
| [Debezium](/tutorials/migrate/migrating-from-mysql-with-debezium) | CDC, 全量加载 | 以最小的延迟捕获行级更改 | 您需要完整的 CDC,包括所有 DML 操作INSERT/UPDATE/DELETE);您希望使用基于 binlog 的复制,以最大程度地减少对源数据库的影响 |
21-
| [Flink CDC](/tutorials/migrate/migrating-from-mysql-with-flink-cdc) | CDC, 全量加载, 转换 | 具有实时转换的复杂 ETL | 您需要在迁移期间过滤或转换数据;您需要一个可扩展的处理框架;您需要基于 SQL 的转换功能 |
22-
| [Kafka Connect](/tutorials/migrate/migrating-from-mysql-with-kafka-connect) | CDC, 增量, 全量加载 | 现有的 Kafka 基础设施 | 您已经在使用 Kafka;您需要简单的配置;您可以使用时间戳或自增列进行增量同步 |
27+
| [Debezium](/tutorials/migrate/migrating-from-mysql-with-debezium) | CDC全量加载 | 以最小延迟捕获行级变更 | 您需要完整的 CDC 以及所有 DML 操作 (INSERT/UPDATE/DELETE);您希望基于 binlog 的复制对源数据库影响最小 |
28+
| [Flink CDC](/tutorials/migrate/migrating-from-mysql-with-flink-cdc) | CDC全量加载转换 | 具有实时转换的复杂 ETL | 您需要在迁移过程中过滤或转换数据;您需要可扩展的处理框架;您希望基于 SQL 的转换功能 |
29+
| [Kafka Connect](/tutorials/migrate/migrating-from-mysql-with-kafka-connect) | CDC、增量、全量加载 | 现有的 Kafka 基础设施 | 您已经在使用 Kafka;您需要简单的配置;您可以使用时间戳或自增列进行增量同步 |
2330

2431
### 何时选择批量迁移
2532

26-
> **推荐**: 对于批量迁移,我们推荐 **db-archiver** 作为默认选择。
33+
> **推荐**对于批量迁移,我们推荐 **db-archiver** 作为默认选择。
2734
28-
- 您需要一次性或计划的数据传输
29-
- 您有大量的历史数据需要迁移
35+
- 您需要一次性或定时数据传输
36+
- 您有大量历史数据需要迁移
3037
- 您不需要实时同步
3138

32-
| 工具 | 功能 | 最佳使用场景 | 选择理由 |
39+
| 工具 | 功能 | 最适合 | 选择条件 |
3340
|------|------------|----------|-------------|
34-
| [db-archiver](/tutorials/migrate/migrating-from-mysql-with-db-archiver) | 全量加载, 增量 | 高效的历史数据归档 | 您有按时间分区的数据;您需要归档历史数据;您需要一个轻量级的、专注的工具 |
35-
| [DataX](/tutorials/migrate/migrating-from-mysql-with-datax) | 全量加载, 增量 | 高性能的大数据集传输 | 您需要大型数据集的高吞吐量;您需要并行处理能力;您需要一个成熟的、广泛使用的工具 |
36-
| [Addax](/tutorials/migrate/migrating-from-mysql-with-addax) | 全量加载, 增量 | 增强的 DataX,具有更好的性能 | 您需要比 DataX 更好的错误处理;您希望改进监控功能;您需要更新的更新和功能 |
41+
| [db-archiver](/tutorials/migrate/migrating-from-mysql-with-db-archiver) | 全量加载增量 | 高效的历史数据归档 | 您有按时间分区的数据;您需要归档历史数据;您希望使用轻量级、专注的工具 |
42+
| [DataX](/tutorials/migrate/migrating-from-mysql-with-datax) | 全量加载增量 | 大数据集的高性能传输 | 您需要大数据集的高吞吐量;您希望并行处理能力;您需要成熟、广泛使用的工具 |
43+
| [Addax](/tutorials/migrate/migrating-from-mysql-with-addax) | 全量加载增量 | 性能更好的增强版 DataX | 您需要比 DataX 更好的错误处理;您希望改进的监控功能;您需要更新的特性和功能 |
3744

3845
## Snowflake 到 Databend
3946

47+
从 Snowflake 迁移到 Databend 包含三个步骤:
48+
49+
1. **为 Amazon S3 配置 Snowflake Storage Integration**:在 Snowflake 和 S3 之间建立安全访问
50+
2. **准备并导出数据到 Amazon S3**:将您的 Snowflake 数据以 Parquet 格式导出到 S3
51+
3. **将数据加载到 Databend**:从 S3 将数据导入到 Databend
52+
4053
### 何时选择 Snowflake 迁移
4154

42-
| 工具 | 功能 | 最佳使用场景 | 选择理由 |
55+
| 工具 | 功能 | 最适合 | 选择条件 |
4356
|------|------------|----------|-------------|
44-
| [Snowflake Migration](/tutorials/migrate/migrating-from-snowflake) | 全量加载 | 完整的数据仓库过渡 | 您需要迁移整个 Snowflake 计算集群;您希望使用 Parquet 格式进行高效的数据传输;您需要在系统之间保持模式兼容性 |
57+
| [Snowflake 迁移](/tutorials/migrate/migrating-from-snowflake) | 全量加载 | 完整的数仓转换 | 您需要迁移整个 Snowflake 数仓;您希望使用 Parquet 格式进行高效数据传输;您需要在系统间保持 schema 兼容性 |
4558

4659
## 相关主题
4760

4861
- [加载数据](/guides/load-data/)
49-
- [卸载数据](/guides/unload-data/)
62+
- [卸载数据](/guides/unload-data/)

docs/cn/tutorials/migrate/migrating-from-snowflake.md

Lines changed: 29 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -6,21 +6,25 @@ sidebar_label: Snowflake → Databend
66

77
> **功能**: 全量加载
88
9-
在本教程中,我们将引导你完成从 Snowflake 以 Parquet 格式导出数据到 Amazon S3 存储桶,然后将其加载到 Databend Cloud 的过程。
9+
本教程将指导您完成从 Snowflake 迁移数据到 Databend 的过程。迁移过程包括将数据从 Snowflake 导出到 Amazon S3 存储桶,然后将其加载到 Databend 中。该过程分为三个主要步骤:
10+
11+
![alt text](@site/static/img/load/snowflake-databend.png)
12+
13+
在本教程中,我们将指导您完成将数据从 Snowflake 以 Parquet 格式导出到 Amazon S3 存储桶,然后将其加载到 Databend Cloud 的过程。
1014

1115
## 开始之前
1216

13-
在开始之前,请确保你已具备以下先决条件
17+
在开始之前,请确保您已具备以下先决条件
1418

15-
- **Amazon S3 存储桶**: 一个 S3 存储桶,用于存储导出的数据,以及上传文件所需的权限。[了解如何创建 S3 存储桶](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html)。在本教程中,我们使用 `s3://databend-doc/snowflake/` 作为暂存导出数据的位置。
16-
- **AWS 凭证**: 具有访问 S3 存储桶足够权限的 AWS Access Key ID 和 Secret Access Key。[管理你的 AWS 凭证](https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys)
17-
- **管理 IAM 角色和策略的权限**: 确保你具有创建和管理 IAM 角色和策略的必要权限,这些权限是配置 Snowflake 和 Amazon S3 之间访问所必需的。[了解有关 IAM 角色和策略的信息](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html)
19+
- **Amazon S3 存储桶**: 一个用于存储导出数据的 S3 存储桶,以及上传文件所需的权限。[了解如何创建 S3 存储桶](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html)。在本教程中,我们使用 `s3://databend-doc/snowflake/` 作为暂存导出数据的位置。
20+
- **AWS 凭证**: 具有访问 S3 存储桶足够权限的 AWS Access Key ID 和 Secret Access Key。[管理您的 AWS 凭证](https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys)
21+
- **管理 IAM 角色和策略的权限**: 确保您具有创建和管理 IAM 角色和策略的必要权限,这是配置 Snowflake 和 Amazon S3 之间访问所必需的。[了解 IAM 角色和策略](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html)
1822

19-
## 步骤 1配置 Snowflake Storage Integration 以访问 Amazon S3
23+
## 步骤 1: 为 Amazon S3 配置 Snowflake Storage Integration
2024

21-
在此步骤中,我们将配置 Snowflake 以使用 IAM 角色访问 Amazon S3。首先,我们将创建一个 IAM 角色,然后使用该角色建立 Snowflake Storage Integration以实现安全的数据访问。
25+
在此步骤中,我们将配置 Snowflake 使用 IAM 角色访问 Amazon S3。首先,我们将创建一个 IAM 角色,然后使用该角色建立 Snowflake Storage Integration 以实现安全的数据访问。
2226

23-
1. 登录到 AWS 管理控制台,然后在 **IAM** > **Policies** 上创建一个策略,其中包含以下 JSON 代码
27+
1. 登录 AWS 管理控制台,然后在 **IAM** > **Policies** 中使用以下 JSON 代码创建策略
2428

2529
```json
2630
{
@@ -56,20 +60,21 @@ sidebar_label: Snowflake → Databend
5660
}
5761
```
5862

59-
此策略适用于名为 `databend-doc` 的 S3 存储桶,特别是该存储桶中的 `snowflake` 文件夹。
63+
此策略适用于名为 `databend-doc` 的 S3 存储桶,特别是该存储桶内的 `snowflake` 文件夹。
6064

61-
- `s3:PutObject``s3:GetObject``s3:GetObjectVersion``s3:DeleteObject``s3:DeleteObjectVersion`: 允许对 snowflake 文件夹中的对象执行操作(例如,`s3://databend-doc/snowflake/`)。你可以在此文件夹中上传、读取和删除对象。
62-
- `s3:ListBucket``s3:GetBucketLocation`: 允许列出 `databend-doc` 存储桶的内容并检索其位置。`Condition` 元素确保列表仅限于 `snowflake` 文件夹中的对象
65+
- `s3:PutObject`, `s3:GetObject`, `s3:GetObjectVersion`, `s3:DeleteObject`, `s3:DeleteObjectVersion`: 允许对 snowflake 文件夹内的对象进行操作 (例如,`s3://databend-doc/snowflake/`)。您可以在此文件夹中上传、读取和删除对象。
66+
- `s3:ListBucket`, `s3:GetBucketLocation`: 允许列出 `databend-doc` 存储桶的内容并检索其位置。`Condition` 元素确保列表操作仅限于 `snowflake` 文件夹内的对象
6367

64-
2.**IAM** > **Roles** 上创建一个名为 `databend-doc-role` 的角色,并附加我们创建的策略
68+
2.**IAM** > **Roles** 中创建名为 `databend-doc-role` 的角色并附加我们创建的策略
6569
- 在创建角色的第一步中,为 **Trusted entity type** 选择 **AWS account**,为 **An AWS account** 选择 **This account (xxxxx)**
6670

6771
![alt text](../../../../static/img/documents/tutorials/trusted-entity.png)
6872

69-
- 创建角色后,复制角色 ARN 并将其保存在安全的位置,例如 `arn:aws:iam::123456789012:role/databend-doc-role`
70-
- 稍后,在获得 Snowflake 帐户的 IAM 用户 ARN 后,我们将更新角色的 **Trust Relationships**
73+
- 角色创建后,复制并将角色 ARN 保存在安全位置,例如 `arn:aws:iam::123456789012:role/databend-doc-role`
74+
- 我们稍后将更新角色的 **Trust Relationships**,在获得 Snowflake 账户的 IAM 用户 ARN 之后
7175

72-
3. 在 Snowflake 中打开一个 SQL 工作表,并使用角色 ARN 创建一个名为 `my_s3_integration` 的存储集成。
76+
77+
3. 在 Snowflake 中打开 SQL 工作区,使用角色 ARN 创建名为 `my_s3_integration` 的 storage integration。
7378

7479
```sql
7580
CREATE OR REPLACE STORAGE INTEGRATION my_s3_integration
@@ -80,13 +85,13 @@ CREATE OR REPLACE STORAGE INTEGRATION my_s3_integration
8085
ENABLED = TRUE;
8186
```
8287

83-
4. 显示存储集成详细信息,并在结果中获取 `STORAGE_AWS_IAM_USER_ARN` 属性的值,例如 `arn:aws:iam::123456789012:user/example`。我们将在下一步中使用此值来更新角色 `databend-doc-role`**Trust Relationships**
88+
4. 显示 storage integration 详细信息并获取结果中 `STORAGE_AWS_IAM_USER_ARN` 属性的值,例如 `arn:aws:iam::123456789012:user/example`。我们将在下一步中使用此值来更新角色 `databend-doc-role`**Trust Relationships**
8489

8590
```sql
8691
DESCRIBE INTEGRATION my_s3_integration;
8792
```
8893

89-
5. 返回到 AWS 管理控制台,打开角色 `databend-doc-role`然后导航到 **Trust relationships** > **Edit trust policy**。将以下代码复制到编辑器中:
94+
5. 返回 AWS 管理控制台,打开角色 `databend-doc-role`导航到 **Trust relationships** > **Edit trust policy**。将以下代码复制到编辑器中:
9095

9196
```json
9297
{
@@ -103,11 +108,12 @@ DESCRIBE INTEGRATION my_s3_integration;
103108
}
104109
```
105110

106-
ARN `arn:aws:iam::123456789012:user/example` 是我们在上一步中获得的 Snowflake 帐户的 IAM 用户 ARN。
111+
ARN `arn:aws:iam::123456789012:user/example` 是我们在上一步中获得的 Snowflake 账户的 IAM 用户 ARN。
112+
107113

108-
## 步骤 2:准备数据并将其导出到 Amazon S3
114+
## 步骤 2: 准备并导出数据到 Amazon S3
109115

110-
1. 在 Snowflake 中使用 Snowflake 存储集成 `my_s3_integration` 创建一个外部 Stage
116+
1. 在 Snowflake 中使用 Snowflake storage integration `my_s3_integration` 创建外部 stage
111117

112118
```sql
113119
CREATE OR REPLACE STAGE my_external_stage
@@ -116,7 +122,7 @@ CREATE OR REPLACE STAGE my_external_stage
116122
FILE_FORMAT = (TYPE = 'PARQUET');
117123
```
118124

119-
`URL = 's3://databend-doc/snowflake/'` 指定 S3 存储桶和将要暂存数据的文件夹。路径 `s3://databend-doc/snowflake/` 对应于 S3 存储桶 `databend-doc` 和该存储桶中的文件夹 `snowflake`
125+
`URL = 's3://databend-doc/snowflake/'` 指定了数据将要暂存的 S3 存储桶和文件夹。路径 `s3://databend-doc/snowflake/` 对应 S3 存储桶 `databend-doc` 以及该存储桶内的 `snowflake` 文件夹
120126

121127
2. 准备一些要导出的数据。
122128

@@ -144,7 +150,7 @@ COPY INTO @my_external_stage/my_table_data_
144150
FILE_FORMAT = (TYPE = 'PARQUET') HEADER=true;
145151
```
146152

147-
如果现在打开存储桶 `databend-doc`你应该会在 `snowflake` 文件夹中看到一个 Parquet 文件:
153+
如果您现在打开存储桶 `databend-doc`应该会在 `snowflake` 文件夹中看到一个 Parquet 文件:
148154

149155
![alt text](../../../../static/img/documents/tutorials/bucket-folder.png)
150156

@@ -163,7 +169,7 @@ CREATE TABLE my_target_table (
163169
);
164170
```
165171

166-
2. 使用 [COPY INTO](/sql/sql-commands/dml/dml-copy-into-table) 加载存储桶中导出的数据
172+
2. 使用 [COPY INTO](/sql/sql-commands/dml/dml-copy-into-table) 加载存储桶中的导出数据
167173

168174
```sql
169175
COPY INTO my_target_table

0 commit comments

Comments
 (0)