Skip to content

Commit 628b73f

Browse files
🌐 Add LLM Translations (#1736)
* 💬Generate LLM translations * Update 50-file-format-options.md --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: z <[email protected]>
1 parent 06e5058 commit 628b73f

File tree

1 file changed

+182
-28
lines changed

1 file changed

+182
-28
lines changed
Lines changed: 182 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,16 @@
1+
```markdown
12
---
2-
title: 输入与输出文件格式
3+
title: 输入 & 输出文件格式
34
---
45
import FunctionDescription from '@site/src/components/FunctionDescription';
56

6-
<FunctionDescription description="引入或更新于:v1.2.530"/>
7+
<FunctionDescription description="引入或更新于: v1.2.713"/>
78

8-
Databend 支持多种文件格式作为数据加载或卸载的源和目标。本页介绍支持的文件格式及其可用选项
9+
Databend 接受多种文件格式作为数据加载或卸载的源和目标。本页介绍了支持的文件格式及其可用选项
910

1011
## 语法
1112

12-
在语句中指定文件格式时,使用以下语法
13+
要在语句中指定文件格式,请使用以下语法
1314

1415
```sql
1516
-- 指定标准文件格式
@@ -19,13 +20,13 @@ Databend 支持多种文件格式作为数据加载或卸载的源和目标。
1920
... FILE_FORMAT = ( FORMAT_NAME = '<your-custom-format>' )
2021
```
2122

22-
- Databend 目前仅支持 ORC 作为数据源。暂不支持将数据卸载为 ORC 文件
23-
- 如果在执行 COPY INTO 或从 Stage 执行 SELECT 操作时未指定 FILE_FORMAT,Databend 将使用创建 Stage 时初始定义的文件格式。若创建 Stage 时未显式指定文件格式,Databend 默认使用 PARQUET 格式。如果指定的 FILE_FORMAT 与创建 Stage 时定义的不同,Databend 将优先采用操作中指定的 FILE_FORMAT。
24-
- 关于在 Databend 中管理自定义文件格式,请参阅[文件格式](../10-sql-commands/00-ddl/13-file-format/index.md)
23+
- Databend 目前仅支持将 ORC 作为源。尚不支持将数据卸载到 ORC 文件中
24+
- 如果在执行 COPY INTO 或从 Stage 执行 SELECT 操作时未指定 FILE_FORMAT,Databend 将使用您最初为 Stage 定义的文件格式。如果您在创建 Stage 期间未显式指定文件格式,Databend 默认使用 PARQUET 格式。如果您指定了与创建 Stage 时定义的 FILE_FORMAT 不同的 FILE_FORMAT,Databend 将优先使用操作期间指定的 FILE_FORMAT。
25+
- 有关在 Databend 中管理自定义文件格式的信息,请参阅 [文件格式](../10-sql-commands/00-ddl/13-file-format/index.md)
2526

2627
### formatTypeOptions
2728

28-
`formatTypeOptions` 包含一个或多个选项,用于描述文件的其他格式细节。选项因文件格式而异。请参阅以下部分了解每种支持的文件格式的可用选项
29+
`formatTypeOptions` 包括一个或多个选项,用于描述有关文件的其他格式详细信息。这些选项因文件格式而异。请参阅下面的部分,了解每种支持的文件格式的可用选项
2930

3031
```sql
3132
formatTypeOptions ::=
@@ -41,13 +42,13 @@ formatTypeOptions ::=
4142

4243
## CSV 选项
4344

44-
Databend 接受符合 [RFC 4180](https://www.rfc-editor.org/rfc/rfc4180)CSV 文件,并遵循以下条件
45+
Databend 接受符合 [RFC 4180](https://www.rfc-editor.org/rfc/rfc4180)CVS 文件,并受以下条件的约束
4546

46-
- 若字符串包含 [QUOTE](#quote)[ESCAPE](#escape)[RECORD_DELIMITER](#record_delimiter)[FIELD_DELIMITER](#field_delimiter) 字符,则必须加引号
47-
- 在引号字符串中,除 [QUOTE](#quote) 外,不会转义任何字符
48-
- [FIELD_DELIMITER](#field_delimiter)[QUOTE](#quote) 之间不应有空格
49-
- 若字符串来自序列化的 Array 或 Struct 字段,将在 CSV 中加引号
50-
- 若您开发程序并从中生成 CSV 文件,Databend 建议使用编程语言的 CSV 库。
47+
- 如果字符串包含 [QUOTE](#quote)[ESCAPE](#escape)[RECORD_DELIMITER](#record_delimiter)[FIELD_DELIMITER](#field_delimiter) 的字符,则必须引用该字符串
48+
- 除了 [QUOTE](#quote) 之外,在带引号的字符串中不会转义任何字符
49+
- [FIELD_DELIMITER](#field_delimiter)[QUOTE](#quote) 之间不应留有空格
50+
- 如果字符串来自序列化的 Array 或 Struct 字段,则将在 CSV 中引用该字符串
51+
- 如果您开发了一个程序并从中生成 CSV 文件,Databend 建议使用该编程语言中的 CSV 库。
5152

5253
### RECORD_DELIMITER
5354

@@ -56,7 +57,7 @@ Databend 接受符合 [RFC 4180](https://www.rfc-editor.org/rfc/rfc4180) 的 CSV
5657
**可用值**
5758

5859
- `\r\n`
59-
- 一个非字母数字的单字节字符,如 `#``|`
60+
- 一个字节的非字母数字字符,例如 `#``|`
6061
- 带有转义字符的字符:`\b``\f``\r``\n``\t``\0``\xHH`
6162

6263
**默认值**`\n`
@@ -67,34 +68,187 @@ Databend 接受符合 [RFC 4180](https://www.rfc-editor.org/rfc/rfc4180) 的 CSV
6768

6869
**可用值**
6970

70-
- 一个非字母数字的单字节字符,如 `#``|`
71+
- 一个字节的非字母数字字符,例如 `#``|`
7172
- 带有转义字符的字符:`\b``\f``\r``\n``\t``\0``\xHH`
7273

73-
**默认值**`,`(逗号)
74+
**默认值**`,` (逗号)
7475

75-
### QUOTE
76+
### QUOTE (仅加载)
7677

77-
CSV 文件中为字符串加引号。对于数据加载,除非字符串包含 [QUOTE](#quote)[ESCAPE](#escape)[RECORD_DELIMITER](#record_delimiter)[FIELD_DELIMITER](#field_delimiter) 字符,否则不需要引号
78+
引用 CSV 文件中的字符串。对于数据加载,除非字符串包含 [QUOTE](#quote)[ESCAPE](#escape)[RECORD_DELIMITER](#record_delimiter)[FIELD_DELIMITER](#field_delimiter) 的字符,否则引号不是必需的
7879

79-
:::note
80-
**仅用于数据加载**:此选项在从 Databend 卸载数据时不可用。
81-
:::
82-
83-
**可用值**`'``"` 或 `(反引号)
80+
**可用值**`'`, `"` 或 `(反引号)
8481

8582
**默认值**`"`
8683

8784
### ESCAPE
8885

89-
在引号字符串中转义引号
86+
转义带引号的字符串中的引号
9087

9188
**可用值**`'\\'``''`
9289

9390
**默认值**`''`
9491

95-
### SKIP_HEADER
92+
### SKIP_HEADER (仅加载)
93+
94+
指定从文件开头跳过的行数。
95+
96+
**默认值**`0`
97+
98+
### NAN_DISPLAY (仅加载)
99+
100+
指定如何在查询结果中显示 "NaN"(非数字)值。
101+
102+
**可用值**:必须是文字 `'nan'``'null'`(不区分大小写)
103+
104+
**默认值**`'NaN'`
105+
106+
### NULL_DISPLAY (仅加载)
107+
108+
指定如何在查询结果中显示 NULL 值。
109+
110+
**默认值**`'\N'`
111+
112+
### ERROR_ON_COLUMN_COUNT_MISMATCH (仅加载)
113+
114+
ERROR_ON_COLUMN_COUNT_MISMATCH 是一个布尔选项,当设置为 true 时,指定如果数据文件中的列数与目标表中的列数不匹配,则应引发错误。将其设置为 true 有助于确保加载过程中的数据完整性和一致性。
115+
116+
**默认值**`true`
117+
118+
### EMPTY_FIELD_AS (仅加载)
119+
120+
指定在 CSV 数据加载到表中时,遇到空字段(包括 `,,``,"",`)时应使用的值。
121+
122+
| 可用值 | 描述 |
123+
|--------------------|----------------------------------------------------------------------------------|
124+
| `null` (默认) | 将空字段解释为 NULL 值。仅适用于可为空的列。 |
125+
| `string` | 将空字段解释为空字符串 ('')。仅适用于 String 列。 |
126+
| `field_default` | 对空字段使用列的默认值。 |
127+
128+
### OUTPUT_HEADER (仅卸载)
129+
130+
指定在使用 `COPY INTO <location>` 命令导出数据时,是否在 CSV 文件中包含标题行。默认为 `false`
131+
132+
### BINARY_FORMAT
133+
134+
控制数据导出和导入操作期间的二进制编码格式,可用值为 `HEX`(默认)和 `BASE64`
135+
136+
### COMPRESSION
137+
138+
指定压缩算法。
139+
140+
| 可用值 | 描述 |
141+
|--------------------|-------------------------------------------------------------------|
142+
| `NONE` (默认) | 表示文件未压缩。 |
143+
| `AUTO` | 通过文件扩展名自动检测压缩 |
144+
| `GZIP` | |
145+
| `BZ2` | |
146+
| `BROTLI` | 如果加载/卸载 Brotli 压缩文件,则必须指定。 |
147+
| `ZSTD` | 支持 Zstandard v0.8(及更高版本)。 |
148+
| `DEFLATE` | Deflate 压缩文件(带有 zlib 标头,RFC1950)。 |
149+
| `RAW_DEFLATE` | Deflate 压缩文件(没有任何标头,RFC1951)。 |
150+
| `XZ` | |
151+
152+
## TSV 选项
153+
154+
Databend 在处理 TSV 文件时受以下条件的约束:
155+
156+
- TSV 文件中的这些字符将被转义:`\b``\f``\r``\n``\t``\0``\\``\'`[RECORD_DELIMITER](#record_delimiter-1)[FIELD_DELIMITER](#field_delimiter-1)
157+
- 目前不支持引用或封闭。
158+
- 如果字符串来自序列化的 Array 或 Struct 字段,则将在 CSV 中引用该字符串。
159+
- Null 被序列化为 `\N`
96160

97-
指定从文件开头跳过多少行。
98161

99162
:::note
100-
**
163+
1. 在 Databend 中,TSV 和 CSV 之间的主要区别不是使用制表符代替逗号作为字段分隔符(可以通过选项更改),而是使用转义而不是引用来解决 [分隔符冲突](https://en.wikipedia.org/wiki/Delimiter#Delimiter_collision)
164+
2. 我们建议使用 CSV 作为存储格式,因为它具有正式标准。
165+
3. TSV 可用于加载以下文件生成的文件
166+
1. Clickhouse TSV 文件格式。
167+
2. MySQL `mysqldump` 命令,带有选项 `--tab`,没有 `--fields-enclosed-by``--fields-optinally-enclosed-by`,如果指定了后两个,则改用 CSV。
168+
3. Snowflake CSV,没有 `ESCAPE_UNENCLOSED_FIELD`。如果指定了 `ESCAPE_UNENCLOSED_FIELD`,则改用 CSV。
169+
:::
170+
171+
### RECORD_DELIMITER
172+
173+
分隔输入文件中的记录。
174+
175+
**可用值**
176+
177+
- `\r\n`
178+
- 任意字符,例如 `#``|`
179+
- 带有转义字符的字符:`\b``\f``\r``\n``\t``\0``\xHH`
180+
181+
**默认值**`\n`
182+
183+
### FIELD_DELIMITER
184+
185+
分隔记录中的字段。
186+
187+
**可用值**
188+
189+
- 非字母数字字符,例如 `#``|`
190+
- 带有转义字符的字符:`\b``\f``\r``\n``\t``\0``\xHH`
191+
192+
**默认值**`\t` (TAB)
193+
194+
### COMPRESSION
195+
196+
[CSV 的 COMPRESSION 选项](#compression) 相同。
197+
198+
## NDJSON 选项
199+
200+
### NULL_FIELD_AS (仅加载)
201+
202+
指定在数据加载期间如何处理 null 值。有关可能的配置,请参阅下表中的选项。
203+
204+
| 可用值 | 描述 |
205+
|-------------------------|---------------------------------------------------------------------------------------------------------|
206+
| `NULL` (默认) | 将 null 值解释为可为空字段的 NULL。将为不可为空字段生成错误。 |
207+
| `FIELD_DEFAULT` | 对 null 值使用字段的默认值。 |
208+
209+
### MISSING_FIELD_AS (仅加载)
210+
211+
确定在数据加载期间遇到缺失字段时的行为。有关可能的配置,请参阅下表中的选项。
212+
213+
| 可用值 | 描述 |
214+
|--------------------|--------------------------------------------------------------------------------------------|
215+
| `ERROR` (默认) | 如果遇到缺失字段,则生成错误。 |
216+
| `NULL` | 将缺失字段解释为 NULL 值。将为不可为空字段生成错误。 |
217+
| `FIELD_DEFAULT` | 对缺失字段使用字段的默认值。 |
218+
219+
### COMPRESSION
220+
221+
[CSV 的 COMPRESSION 选项](#compression) 相同。
222+
223+
## PARQUET 选项
224+
225+
### MISSING_FIELD_AS (仅加载)
226+
227+
确定在数据加载期间遇到缺失字段时的行为。有关可能的配置,请参阅下表中的选项。
228+
229+
| 可用值 | 描述 |
230+
|--------------------|--------------------------------------------------------------------------------------------|
231+
| `ERROR` (默认) | 如果遇到缺失字段,则生成错误。 |
232+
| `FIELD_DEFAULT` | 对缺失字段使用字段的默认值。 |
233+
234+
### COMPRESSION (仅卸载)
235+
236+
指定压缩算法,该算法用于压缩文件的内部块,而不是整个文件,因此输出仍为 Parquet 格式。
237+
238+
| 可用值 | 描述 |
239+
|--------------------|------------------------------------------------------------------------|
240+
| `ZSTD` (默认) | 支持 Zstandard v0.8(及更高版本)。 |
241+
| `SNAPPY` | Snappy 是一种流行的快速压缩算法,通常与 Parquet 一起使用。 |
242+
243+
244+
## ORC 选项
245+
246+
### MISSING_FIELD_AS (仅加载)
247+
248+
确定在数据加载期间遇到缺失字段时的行为。有关可能的配置,请参阅下表中的选项。
249+
```
250+
251+
| 可选值 | 描述 |
252+
|------------------|------------------------------------------------------------------------------------------------|
253+
| `ERROR` (默认) | 如果遇到缺失字段,则生成错误。 |
254+
| `FIELD_DEFAULT` | 对缺失字段使用该字段的默认值。 |

0 commit comments

Comments
 (0)