Skip to content

Commit b797d77

Browse files
AI Translate 04-transform to Simplified-Chinese (#2658)
* [INIT] Start translation to Simplified-Chinese * 🌐 Translate 00-querying-parquet.md to Simplified-Chinese * 🌐 Translate 00-querying-parquet.md to Simplified-Chinese * 🌐 Translate 00-querying-parquet.md to Simplified-Chinese * 🌐 Translate 00-querying-parquet.md to Simplified-Chinese * 🌐 Translate 00-querying-parquet.md to Simplified-Chinese * 🌐 Translate 00-querying-parquet.md to Simplified-Chinese * 🌐 Translate 00-querying-parquet.md to Simplified-Chinese * 🌐 Translate 00-querying-parquet.md to Simplified-Chinese --------- Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
1 parent 4fd8206 commit b797d77

File tree

9 files changed

+586
-239
lines changed

9 files changed

+586
-239
lines changed

.translation-init

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
Translation initialization: 2025-08-07T09:16:55.714367
1+
Translation initialization: 2025-08-07T10:37:34.904930

docs/cn/guides/40-load-data/04-transform/00-querying-parquet.md

Lines changed: 30 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -1,59 +1,39 @@
11
---
2-
title: 查询 Stage 中的 Parquet 文件
2+
title: 查询暂存区中的 Parquet 文件
33
sidebar_label: Parquet
44
---
55

6-
## 查询 Stage 中的 Parquet 文件
76

8-
语法:
9-
```sql
10-
SELECT [<alias>.]<column> [, <column> ...]
11-
FROM {@<stage_name>[/<path>] [<table_alias>] | '<uri>' [<table_alias>]}
12-
[(
13-
[<connection_parameters>],
14-
[ PATTERN => '<regex_pattern>'],
15-
[ FILE_FORMAT => 'PARQUET | <custom_format_name>'],
16-
[ FILES => ( '<file_name>' [ , '<file_name>' ] [ , ... ] ) ],
17-
[ CASE_SENSITIVE => true | false ]
18-
)]
19-
```
7+
## 语法:
208

21-
:::info 提示
22-
**查询返回内容说明:**
23-
24-
* **返回格式**: 列值以其原生数据类型返回 (非 variant 类型)
25-
* **访问方式**: 直接使用列名 `column_name`
26-
* **示例**: `SELECT id, name, age FROM @stage_name`
27-
* **关键特性**:
28-
* 无需使用路径表达式 (如 `$1:name`)
29-
* 无需类型转换
30-
* Parquet 文件包含内嵌的 schema 信息
31-
:::
9+
- [将行作为 Variant 查询](./index.md#query-rows-as-variants)
10+
- [按名称查询列](./index.md#query-columns-by-name)
11+
- [查询元数据](./index.md#query-metadata)
3212

3313
## 教程
3414

35-
### 步骤 1. 创建外部 Stage
15+
### 步骤 1:创建外部暂存区(Stage
3616

37-
使用您自己的 S3 存储桶和凭证创建一个外部 stage,用于存储 Parquet 文件。
17+
使用您自己的 S3 存储桶和凭据创建一个外部暂存区(Stage),用于存放 Parquet 文件。
3818
```sql
3919
CREATE STAGE parquet_query_stage
4020
URL = 's3://load/parquet/'
4121
CONNECTION = (
4222
ACCESS_KEY_ID = '<your-access-key-id>'
43-
SECRET_ = '< = '<your-secret-access-key>'
23+
SECRET_ACCESS_KEY = '<your-secret-access-key>'
4424
);
4525
```
4626

47-
### 步骤 2. 创建自定义 Parquet 文件格式
27+
### 步骤 2创建自定义 Parquet 文件格式
4828

4929
```sql
50-
CREATE FILE FORMAT parquet_query_format
51-
TYPE = PARQUET
52-
;
30+
CREATE FILE FORMAT parquet_query_format TYPE = PARQUET;
5331
```
54-
- 更多 Parquet 文件格式选项请参考 [Parquet 文件格式选项](/sql/sql-reference/file-format-options#parquet-options)
32+
- 更多 Parquet 文件格式选项,请参阅 [Parquet 文件格式选项](/sql/sql-reference/file-format-options#parquet-options)
33+
34+
### 步骤 3:查询 Parquet 文件
5535

56-
### 步骤 3. 查询 Parquet 文件
36+
按列名查询:
5737

5838
```sql
5939
SELECT *
@@ -63,9 +43,23 @@ FROM @parquet_query_stage
6343
PATTERN => '.*[.]parquet'
6444
);
6545
```
66-
### 包含元数据的查询
6746

68-
直接从 stage 查询 Parquet 文件,包括 `METADATA$FILENAME` 和 `METADATA$FILE_ROW_NUMBER` 等元数据列:
47+
按路径表达式查询:
48+
49+
50+
```sql
51+
SELECT $1
52+
FROM @parquet_query_stage
53+
(
54+
FILE_FORMAT => 'parquet_query_format',
55+
PATTERN => '.*[.]parquet'
56+
);
57+
```
58+
59+
60+
### 查询元数据(Metadata)
61+
62+
直接从暂存区(Stage)查询 Parquet 文件,并包含 `METADATA$FILENAME``METADATA$FILE_ROW_NUMBER` 等元数据(Metadata)列:
6963

7064
```sql
7165
SELECT

docs/cn/guides/40-load-data/04-transform/01-querying-csv.md

Lines changed: 13 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -1,41 +1,18 @@
11
---
2-
title: 查询 Stage 中的 CSV 文件
2+
title: 查询暂存区中的 CSV 文件
33
sidebar_label: CSV
44
---
55

6-
## 查询 Stage 中的 CSV 文件
6+
## 语法:
77

8-
语法:
9-
```sql
10-
SELECT [<alias>.]$<col_position> [, $<col_position> ...]
11-
FROM {@<stage_name>[/<path>] [<table_alias>] | '<uri>' [<table_alias>]}
12-
[(
13-
[<connection_parameters>],
14-
[ PATTERN => '<regex_pattern>'],
15-
[ FILE_FORMAT => 'CSV| <custom_format_name>'],
16-
[ FILES => ( '<file_name>' [ , '<file_name>' ] [ , ... ] ) ]
17-
)]
18-
```
19-
20-
21-
:::info 提示
22-
**查询返回内容说明:**
23-
24-
* **返回格式**:默认以字符串形式返回各列值
25-
* **访问方式**:使用位置引用 `$<col_position>`(例如 `$1``$2``$3`
26-
* **示例**`SELECT $1, $2, $3 FROM @stage_name`
27-
* **关键特性**
28-
* 通过位置而非列名访问数据
29-
* 每个 `$<col_position>` 引用单列而非整行
30-
* 非字符串操作需类型转换(如 `CAST($1 AS INT)`
31-
* CSV 文件不包含内嵌模式信息
32-
:::
8+
- [按位置查询列](./index.md#query-columns-by-position)
9+
- [查询元数据](./index.md#query-metadata)
3310

3411
## 教程
3512

36-
### 步骤 1. 创建外部 Stage
13+
### 步骤 1:创建外部暂存区
3714

38-
使用您自己的 S3 存储桶和凭证创建外部 Stage,用于存储 CSV 文件
15+
创建一个外部暂存区(Stage),并配置你的 S3 存储桶和凭证,CSV 文件存储在该位置
3916
```sql
4017
CREATE STAGE csv_query_stage
4118
URL = 's3://load/csv/'
@@ -45,20 +22,20 @@ CONNECTION = (
4522
);
4623
```
4724

48-
### 步骤 2. 创建自定义 CSV 文件格式
25+
### 步骤 2创建自定义 CSV 文件格式
4926

5027
```sql
5128
CREATE FILE FORMAT csv_query_format
5229
TYPE = CSV,
5330
RECORD_DELIMITER = '\n',
5431
FIELD_DELIMITER = ',',
5532
COMPRESSION = AUTO,
56-
SKIP_HEADER = 1; -- 如果 CSV 文件包含表头,查询时跳过首行
33+
SKIP_HEADER = 1; -- 如果 CSV 文件包含表头,查询时跳过第一行
5734
```
5835

59-
- 更多 CSV 文件格式选项请参考 [CSV 文件格式选项](/sql/sql-reference/file-format-options#csv-options)
36+
- 更多 CSV 文件格式选项,请参考 [CSV 文件格式选项](/sql/sql-reference/file-format-options#csv-options)
6037

61-
### 步骤 3. 查询 CSV 文件
38+
### 步骤 3查询 CSV 文件
6239

6340
```sql
6441
SELECT $1, $2, $3
@@ -69,7 +46,7 @@ FROM @csv_query_stage
6946
);
7047
```
7148

72-
如果 CSV 文件使用 gzip 压缩,可使用以下查询
49+
如果 CSV 文件使用 gzip 压缩,我们可以使用以下查询
7350

7451
```sql
7552
SELECT $1, $2, $3
@@ -79,9 +56,9 @@ FROM @csv_query_stage
7956
PATTERN => '.*[.]csv[.]gz'
8057
);
8158
```
82-
### 包含元数据的查询
59+
### 查询元数据
8360

84-
直接从 Stage 查询 CSV 文件,包含 `METADATA$FILENAME``METADATA$FILE_ROW_NUMBER` 等元数据列:
61+
直接从暂存区(Stage查询 CSV 文件,包括 `METADATA$FILENAME``METADATA$FILE_ROW_NUMBER` 等元数据列:
8562

8663
```sql
8764
SELECT

docs/cn/guides/40-load-data/04-transform/02-querying-tsv.md

Lines changed: 11 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1,41 +1,19 @@
11
---
2-
title: 查询 Stage 中的 TSV 文件
2+
title: 查询暂存区中的 TSV 文件
33
sidebar_label: TSV
44
---
55

6-
## 查询 Stage 中的 TSV 文件
7-
8-
语法:
9-
```sql
10-
SELECT [<alias>.]$<col_position> [, $<col_position> ...]
11-
FROM {@<stage_name>[/<path>] [<table_alias>] | '<uri>' [<table_alias>]}
12-
[(
13-
[<connection_parameters>],
14-
[ PATTERN => '<regex_pattern>'],
15-
[ FILE_FORMAT => 'TSV| <custom_format_name>'],
16-
[ FILES => ( '<file_name>' [ , '<file_name>' ] [ , ... ] ) ]
17-
)]
18-
```
6+
## 语法:
197

8+
- [按位置查询列](./index.md#query-columns-by-position)
9+
- [查询元数据](./index.md#query-metadata)
2010

21-
:::info 提示
22-
**查询返回内容说明:**
23-
24-
* **返回格式**:默认以字符串形式返回各列值
25-
* **访问方式**:使用位置引用 `$<col_position>` (例如 `$1`, `$2`, `$3`)
26-
* **示例**`SELECT $1, $2, $3 FROM @stage_name`
27-
* **关键特性**
28-
* 通过位置而非列名访问数据
29-
* 每个 `$<col_position>` 对应单个列而非整行
30-
* 非字符串操作需类型转换 (例如 `CAST($1 AS INT)`)
31-
* TSV 文件中不包含内嵌的 schema 信息
32-
:::
3311

3412
## 教程
3513

36-
### 第一步:创建外部 Stage
14+
### 步骤 1:创建外部暂存区
3715

38-
使用您的 S3 存储桶和凭证创建外部 stage,用于存储 TSV 文件。
16+
使用您自己的 S3 存储桶和凭据创建一个外部暂存区(Stage),其中存放了您的 TSV 文件。
3917
```sql
4018
CREATE STAGE tsv_query_stage
4119
URL = 's3://load/tsv/'
@@ -45,7 +23,7 @@ CONNECTION = (
4523
);
4624
```
4725

48-
### 第二步:创建自定义 TSV 文件格式
26+
### 步骤 2:创建自定义 TSV 文件格式
4927

5028
```sql
5129
CREATE FILE FORMAT tsv_query_format
@@ -55,9 +33,9 @@ CREATE FILE FORMAT tsv_query_format
5533
COMPRESSION = AUTO;
5634
```
5735

58-
- 更多 TSV 文件格式选项请参考 [TSV 文件格式选项](/sql/sql-reference/file-format-options#tsv-options)
36+
- 更多 TSV 文件格式选项,请参阅 [TSV 文件格式选项](/sql/sql-reference/file-format-options#tsv-options)
5937

60-
### 第三步:查询 TSV 文件
38+
### 步骤 3:查询 TSV 文件
6139

6240
```sql
6341
SELECT $1, $2, $3
@@ -78,10 +56,9 @@ FROM @tsv_query_stage
7856
PATTERN => '.*[.]tsv[.]gz'
7957
);
8058
```
59+
### 查询元数据
8160

82-
### 查询包含元数据
83-
84-
直接从 stage 查询 TSV 文件,包括 `METADATA$FILENAME``METADATA$FILE_ROW_NUMBER` 等元数据列:
61+
直接从暂存区(Stage)查询 TSV 文件,并包含 `METADATA$FILENAME``METADATA$FILE_ROW_NUMBER` 等元数据列:
8562

8663
```sql
8764
SELECT
Lines changed: 12 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
---
2-
title: 查询暂存区中的 NDJSON 文件
2+
title: 查询暂存区(Stage)中的 NDJSON 文件
33
sidebar_label: NDJSON
44
---
55

6-
在 Databend 中,你可以直接查询存储在暂存区(Stage)中的 NDJSON 文件,而无需先将数据加载到表中。这种方法对于数据探索、ETL 处理和即席分析等场景特别有用
6+
在 Databend 中,你可以直接查询存储在暂存区(Stage)中的 NDJSON 文件,而无需先将数据加载到表中。这种方法对于数据探索、ETL 处理和即席分析场景特别有用
77

88
## 什么是 NDJSON?
99

@@ -21,39 +21,16 @@ NDJSON(Newline Delimited JSON,换行符分隔的 JSON)是一种基于 JSON
2121
- **兼容大数据**:广泛用于日志文件、数据导出和 ETL Pipeline。
2222
- **易于处理**:每一行都是一个独立的 JSON 对象,支持并行处理。
2323

24-
## 查询暂存区中的 NDJSON 文件
24+
## 语法
2525

26-
语法:
27-
```sql
28-
SELECT [<alias>.]$1:<column> [, $1:<column> ...]
29-
FROM {@<stage_name>[/<path>] [<table_alias>] | '<uri>' [<table_alias>]}
30-
[(
31-
[<connection_parameters>],
32-
[ PATTERN => '<regex_pattern>'],
33-
[ FILE_FORMAT => 'NDJSON| <custom_format_name>'],
34-
[ FILES => ( '<file_name>' [ , '<file_name>' ] [ , ... ] ) ]
35-
)]
36-
```
37-
38-
39-
:::info 提示
40-
**查询返回内容说明:**
41-
42-
* **返回格式**:每一行作为一个单独的 VARIANT 对象(通过 `$1` 引用)。
43-
* **访问方法**:使用路径表达式 `$1:column_name`
44-
* **示例**`SELECT $1:title, $1:author FROM @stage_name`
45-
* **主要特性**
46-
* 必须使用路径表示法来访问特定字段。
47-
* 对于特定类型的操作,需要进行类型转换(例如,`CAST($1:id AS INT)`)。
48-
* 每一行 NDJSON 都被解析为一个完整的 JSON 对象。
49-
* 整行数据表示为一个单独的 VARIANT 对象。
50-
:::
26+
- [将行作为 Variant 查询](./index.md#query-rows-as-variants)
27+
- [查询元数据](./index.md#query-metadata)
5128

5229
## 教程
5330

54-
### 步骤 1. 创建外部暂存区
31+
### 步骤 1. 创建外部暂存区(Stage)
5532

56-
使用你自己的 S3 存储桶和凭证创建一个外部暂存区,你的 NDJSON 文件存储在该位置。
33+
使用你自己的 S3 存储桶和凭据创建一个外部暂存区(Stage),你的 NDJSON 文件存储在该位置。
5734
```sql
5835
CREATE STAGE ndjson_query_stage
5936
URL = 's3://load/ndjson/'
@@ -75,7 +52,7 @@ CREATE FILE FORMAT ndjson_query_format
7552

7653
### 步骤 3. 查询 NDJSON 文件
7754

78-
现在你可以直接从暂存区查询 NDJSON 文件。此示例从每个 JSON 对象中提取 `title``author` 字段:
55+
现在,你可以直接从暂存区(Stage)查询 NDJSON 文件。此示例从每个 JSON 对象中提取 `title``author` 字段:
7956

8057
```sql
8158
SELECT $1:title, $1:author
@@ -87,10 +64,10 @@ FROM @ndjson_query_stage
8764
```
8865

8966
**说明:**
90-
- `$1:title``$1:author`:从 JSON 对象中提取特定字段。`$1` 代表整个 JSON 对象(作为一个 VARIANT),`:字段名` 用于访问单个字段。
91-
- `@ndjson_query_stage`:引用在步骤 1 中创建的外部暂存区。
67+
- `$1:title``$1:author`:从 JSON 对象中提取特定字段。`$1` 代表整个 JSON 对象(作为 Variant 类型),`:field_name` 用于访问单个字段。
68+
- `@ndjson_query_stage`:引用在步骤 1 中创建的外部暂存区(Stage)
9269
- `FILE_FORMAT => 'ndjson_query_format'`:使用在步骤 2 中定义的自定义文件格式。
93-
- `PATTERN => '.*[.]ndjson'`:匹配所有以 `.ndjson` 结尾的文件的正则表达式模式
70+
- `PATTERN => '.*[.]ndjson'`:匹配所有以 `.ndjson` 结尾的文件的正则表达式(Regex)模式
9471

9572
### 查询压缩文件
9673

@@ -106,34 +83,9 @@ FROM @ndjson_query_stage
10683
```
10784

10885
**主要区别:** 模式 `.*[.]ndjson[.]gz` 匹配以 `.ndjson.gz` 结尾的文件。由于文件格式中设置了 `COMPRESSION = AUTO`,Databend 会在查询执行期间自动解压 gzip 文件。
109-
### 带元数据查询
110-
111-
你还可以在查询中包含文件元数据,这对于跟踪数据血缘和调试非常有用:
112-
113-
```sql
114-
SELECT
115-
METADATA$FILENAME,
116-
METADATA$FILE_ROW_NUMBER,
117-
$1:title, $1:author
118-
FROM @ndjson_query_stage
119-
(
120-
FILE_FORMAT => 'ndjson_query_format',
121-
PATTERN => '.*[.]ndjson'
122-
);
123-
```
124-
125-
**元数据列说明:**
126-
- `METADATA$FILENAME`:显示每行数据来自哪个文件——在查询多个文件时非常有用。
127-
- `METADATA$FILE_ROW_NUMBER`:显示源文件中的行号——有助于跟踪特定记录。
128-
129-
**使用场景:**
130-
- **数据血缘**:跟踪每条记录来自哪个源文件。
131-
- **调试**:通过文件和行号识别有问题的记录。
132-
- **增量处理**:只处理特定的文件或文件中的特定范围。
13386

13487
## 相关文档
13588

13689
- [加载 NDJSON 文件](../03-load-semistructured/03-load-ndjson.md) - 如何将 NDJSON 数据加载到表中
13790
- [NDJSON 文件格式选项](/sql/sql-reference/file-format-options#ndjson-options) - 完整的 NDJSON 格式配置
138-
- [CREATE STAGE](/sql/sql-commands/ddl/stage/ddl-create-stage) - 管理外部和内部暂存区
139-
- [查询元数据](./04-querying-metadata.md) - 关于元数据列的更多详细信息
91+
- [CREATE STAGE](/sql/sql-commands/ddl/stage/ddl-create-stage) - 管理外部和内部暂存区(Stage)

0 commit comments

Comments
 (0)