@@ -5,11 +5,11 @@ import FunctionDescription from '@site/src/components/FunctionDescription';
55
66<FunctionDescription description =" 引入或更新于:v1.2.530 " />
77
8- Databend 接受多种文件格式作为数据加载或卸载的源和目标。本页解释了支持的文件格式及其可用选项 。
8+ Databend 支持多种文件格式作为数据加载或卸载的源和目标。本页介绍支持的文件格式及其可用选项 。
99
1010## 语法
1111
12- 要在语句中指定文件格式,请使用以下语法 :
12+ 在语句中指定文件格式时,使用以下语法 :
1313
1414``` sql
1515-- 指定标准文件格式
@@ -19,13 +19,13 @@ Databend 接受多种文件格式作为数据加载或卸载的源和目标。
1919... FILE_FORMAT = ( FORMAT_NAME = ' <your-custom-format>' )
2020```
2121
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 ) 。
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 ) 。
2525
2626### formatTypeOptions
2727
28- ` formatTypeOptions ` 包括一个或多个选项 ,用于描述文件的其他格式细节。这些选项因文件格式而异。请参阅以下部分以了解每种支持的文件格式的可用选项 。
28+ ` formatTypeOptions ` 包含一个或多个选项 ,用于描述文件的其他格式细节。选项因文件格式而异。请参阅以下部分了解每种支持的文件格式的可用选项 。
2929
3030``` sql
3131formatTypeOptions ::=
@@ -41,13 +41,13 @@ formatTypeOptions ::=
4141
4242## CSV 选项
4343
44- Databend 接受符合 [ RFC 4180] ( https://www.rfc-editor.org/rfc/rfc4180 ) 的 CSV 文件,并受以下条件约束 :
44+ Databend 接受符合 [ RFC 4180] ( https://www.rfc-editor.org/rfc/rfc4180 ) 的 CSV 文件,并遵循以下条件 :
4545
46- - 如果字符串包含 [ QUOTE] ( #quote ) 、[ ESCAPE] ( #escape ) 、[ RECORD_DELIMITER] ( #record_delimiter ) 或 [ FIELD_DELIMITER] ( #field_delimiter ) 的字符,则必须引用该字符串 。
47- - 在引用的字符串中,除了 [ QUOTE] ( #quote ) 外,不会转义任何字符。
48- - [ FIELD_DELIMITER] ( #field_delimiter ) 和 [ QUOTE] ( #quote ) 之间不应留有空格 。
49- - 如果字符串来自序列化的数组或结构体字段,则会在 CSV 中引用该字符串 。
50- - 如果您开发程序并从该程序生成 CSV 文件,Databend 建议使用编程语言的 CSV 库。
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 库。
5151
5252### RECORD_DELIMITER
5353
@@ -56,8 +56,8 @@ Databend 接受符合 [RFC 4180](https://www.rfc-editor.org/rfc/rfc4180) 的 CSV
5656** 可用值** :
5757
5858- ` \r\n `
59- - 一个非字母数字的单字节字符,例如 ` # ` 和 ` | ` 。
60- - 带有转义字符的字符:` \b ` , ` \f ` , ` \r ` , ` \n ` , ` \t ` , ` \0 ` , ` \xHH `
59+ - 一个非字母数字的单字节字符,如 ` # ` 和 ` | ` 。
60+ - 带有转义字符的字符:` \b ` 、 ` \f ` 、 ` \r ` 、 ` \n ` 、 ` \t ` 、 ` \0 ` 、 ` \xHH `
6161
6262** 默认值** :` \n `
6363
@@ -67,26 +67,26 @@ Databend 接受符合 [RFC 4180](https://www.rfc-editor.org/rfc/rfc4180) 的 CSV
6767
6868** 可用值** :
6969
70- - 一个非字母数字的单字节字符,例如 ` # ` 和 ` | ` 。
71- - 带有转义字符的字符:` \b ` , ` \f ` , ` \r ` , ` \n ` , ` \t ` , ` \0 ` , ` \xHH `
70+ - 一个非字母数字的单字节字符,如 ` # ` 和 ` | ` 。
71+ - 带有转义字符的字符:` \b ` 、 ` \f ` 、 ` \r ` 、 ` \n ` 、 ` \t ` 、 ` \0 ` 、 ` \xHH `
7272
7373** 默认值** :` , ` (逗号)
7474
7575### QUOTE
7676
77- 在 CSV 文件中引用字符串 。对于数据加载,除非字符串包含 [ QUOTE] ( #quote ) 、[ ESCAPE] ( #escape ) 、[ RECORD_DELIMITER] ( #record_delimiter ) 或 [ FIELD_DELIMITER] ( #field_delimiter ) 的字符,否则不需要引用 。
77+ 在 CSV 文件中为字符串加引号 。对于数据加载,除非字符串包含 [ QUOTE] ( #quote ) 、[ ESCAPE] ( #escape ) 、[ RECORD_DELIMITER] ( #record_delimiter ) 或 [ FIELD_DELIMITER] ( #field_delimiter ) 字符,否则不需要引号 。
7878
7979::: note
80- ** 仅用于数据加载** :当您从 Databend 卸载数据时,此选项不可用 。
80+ ** 仅用于数据加载** :此选项在从 Databend 卸载数据时不可用 。
8181:::
8282
83- ** 可用值** :` ' ` , ` " ` , 或 `( 反引号)
83+ ** 可用值** :` ' ` 、 ` " ` 或 `( 反引号)
8484
8585** 默认值** :` " `
8686
8787### ESCAPE
8888
89- 在引用的字符串中转义引号 。
89+ 在引号字符串中转义引号 。
9090
9191** 可用值** :` '\\' ` 或 ` '' `
9292
@@ -97,151 +97,4 @@ Databend 接受符合 [RFC 4180](https://www.rfc-editor.org/rfc/rfc4180) 的 CSV
9797指定从文件开头跳过多少行。
9898
9999::: note
100- ** 仅用于数据加载** :当您从 Databend 卸载数据时,此选项不可用。
101- :::
102-
103- ** 默认值** :` 0 `
104-
105- ### NAN_DISPLAY
106-
107- 指定查询结果中如何显示“NaN”(非数字)值。
108-
109- ** 可用值** :必须是字面量 ` 'nan' ` 或 ` 'null' ` (不区分大小写)
110-
111- ** 默认值** :` 'NaN' `
112-
113- ### NULL_DISPLAY
114-
115- 指定查询结果中如何显示 NULL 值。
116-
117- ** 默认值** :` '\N' `
118-
119- ### ERROR_ON_COLUMN_COUNT_MISMATCH
120-
121- ERROR_ON_COLUMN_COUNT_MISMATCH 是一个布尔选项,当设置为 true 时,如果数据文件中的列数与目标表中的列数不匹配,则会引发错误。将其设置为 true 有助于确保加载过程中的数据完整性和一致性。
122-
123- ** 默认值** :` true `
124-
125- ### EMPTY_FIELD_AS
126-
127- 指定在加载到表中的 CSV 数据中遇到空字段(包括 ` ,, ` 和 ` ,"", ` )时应使用的值。
128-
129- ** 可用值** :
130-
131- | 值 | 描述 |
132- | ------------------| -----------------------------------------------------------------------------------|
133- | ` null ` (默认) | 将空字段解释为 NULL 值。仅适用于可为空的列。 |
134- | ` string ` | 将空字段解释为空字符串('')。仅适用于字符串列。 |
135- | ` field_default ` | 使用列的默认值处理空字段。 |
136-
137- ### OUTPUT_HEADER
138-
139- 指定在使用 ` COPY INTO <location> ` 命令导出数据时是否在 CSV 文件中包含标题行。默认为 ` false ` 。
140-
141- ### BINARY_FORMAT
142-
143- 控制数据导出和导入操作期间的二进制编码格式,可用值为 ` HEX ` (默认)和 ` BASE64 ` 。
144-
145- ### COMPRESSION
146-
147- 指定压缩算法。
148-
149- ** 可用值** :
150-
151- | 值 | 描述 |
152- | ------------------| -----------------------------------------------------------------|
153- | ` NONE ` (默认) | 表示文件未压缩。 |
154- | ` AUTO ` | 通过文件扩展名自动检测压缩 |
155- | ` GZIP ` | |
156- | ` BZ2 ` | |
157- | ` BROTLI ` | 如果加载/卸载 Brotli 压缩文件,则必须指定。 |
158- | ` ZSTD ` | 支持 Zstandard v0.8(及更高版本)。 |
159- | ` DEFLATE ` | Deflate 压缩文件(带有 zlib 头,RFC1950)。 |
160- | ` RAW_DEFLATE ` | Deflate 压缩文件(无任何头,RFC1951)。 |
161- | ` XZ ` | |
162-
163- ## TSV 选项
164-
165- Databend 在处理 TSV 文件时受以下条件约束:
166-
167- - TSV 文件中的这些字符将被转义:` \b ` , ` \f ` , ` \r ` , ` \n ` , ` \t ` , ` \0 ` , ` \\ ` , ` \' ` , [ RECORD_DELIMITER] ( #record_delimiter-1 ) , [ FIELD_DELIMITER] ( #field_delimiter-1 ) 。
168- - 目前不支持引用或包围。
169- - 如果字符串来自序列化的数组或结构体字段,则会在 CSV 中引用该字符串。
170- - Null 被序列化为 ` \N ` 。
171-
172- ::: note
173- 1 . 在 Databend 中,TSV 和 CSV 的主要区别不是使用制表符代替逗号作为字段分隔符(可以通过选项更改),而是使用转义而不是引用来处理[ 分隔符冲突] ( https://en.wikipedia.org/wiki/Delimiter#Delimiter_collision ) 。
174- 2 . 我们建议使用 CSV 而不是 TSV 作为存储格式,因为它有正式的标准。
175- 3 . TSV 可用于加载由以下方式生成的文件:
176- 1 . Clickhouse TSV 文件格式。
177- 2 . MySQL ` mysqldump ` 命令,带有 ` --tab ` 选项但不带 ` --fields-enclosed-by ` 或 ` --fields-optinally-enclosed-by ` ,如果指定了后两个选项,请使用 CSV。
178- 3 . Snowflake CSV,不带 ` ESCAPE_UNENCLOSED_FIELD ` 。如果指定了 ` ESCAPE_UNENCLOSED_FIELD ` ,请使用 CSV。
179- :::
180-
181- ### RECORD_DELIMITER
182-
183- 分隔输入文件中的记录。
184-
185- ** 可用值** :
186-
187- - ` \r\n `
188- - 任意字符,例如 ` # ` 和 ` | ` 。
189- - 带有转义字符的字符:` \b ` , ` \f ` , ` \r ` , ` \n ` , ` \t ` , ` \0 ` , ` \xHH `
190-
191- ** 默认值** :` \n `
192-
193- ### FIELD_DELIMITER
194-
195- 分隔记录中的字段。
196-
197- ** 可用值** :
198-
199- - 非字母数字字符,例如 ` # ` 和 ` | ` 。
200- - 带有转义字符的字符:` \b ` , ` \f ` , ` \r ` , ` \n ` , ` \t ` , ` \0 ` , ` \xHH `
201-
202- ** 默认值** :` \t ` (制表符)
203-
204- ### COMPRESSION
205-
206- 与 [ CSV 的 COMPRESSION 选项] ( #compression ) 相同。
207-
208- ## NDJSON 选项
209-
210- ### NULL_FIELD_AS
211-
212- 指定在数据加载期间如何处理空值。请参阅下表中的选项以了解可能的配置。
213-
214- | 可用值 | 描述 |
215- | -------------------------| ---------------------------------------------------------------------------------------------------------|
216- | ` NULL ` (默认) | 将空值解释为 NULL 用于可为空的字段。对于不可为空的字段将生成错误。 |
217- | ` FIELD_DEFAULT ` | 使用字段的默认值处理空值。 |
218-
219- ### MISSING_FIELD_AS
220-
221- 确定在数据加载期间遇到缺失字段时的行为。请参阅下表中的选项以了解可能的配置。
222-
223- | 可用值 | 描述 |
224- | ------------------| -----------------------------------------------------------------------------------------------|
225- | ` ERROR ` (默认) | 如果遇到缺失字段,则生成错误。 |
226- | ` NULL ` | 将缺失字段解释为 NULL 值。对于不可为空的字段将生成错误。 |
227- | ` FIELD_DEFAULT ` | 使用字段的默认值处理缺失字段。 |
228- | ` TYPE_DEFAULT ` | 使用字段数据类型的默认值处理缺失字段。 |
229-
230- ### COMPRESSION
231-
232- 与 [ CSV 的 COMPRESSION 选项] ( #compression ) 相同。
233-
234- ## PARQUET 选项
235-
236- ### MISSING_FIELD_AS
237-
238- 确定在数据加载期间遇到缺失字段时的行为。请参阅下表中的选项以了解可能的配置。
239-
240- | 可用值 | 描述 |
241- | ------------------| -----------------------------------------------------------------------------------------------|
242- | ` ERROR ` (默认)| 如果遇到缺失字段,则生成错误。 |
243- | ` FIELD_DEFAULT ` | 使用字段的默认值处理缺失字段。 |
244-
245- ## ORC 选项
246-
247- ORC 格式目前没有可用选项。
100+ ** 仅
0 commit comments