数据加载功能摘要¶
本主题助力您快速了解支持的功能,使用 COPY INTO <table> 命令将数据从文件加载到 Snowflake 表。
本主题内容:
数据文件详细信息¶
下表描述了用于加载数据的文件的常规详细信息:
功能 |
支持 |
备注 |
---|---|---|
文件位置 |
本地环境 |
文件首先复制(“暂存”)到内部 (Snowflake) 暂存区,然后再加载到表中。 |
Amazon S3 |
文件可以直接从任何用户提供的桶加载。 |
|
Google Cloud Storage |
文件可以直接从任何用户提供的桶加载。 |
|
Microsoft Azure 云存储
|
文件可以直接从任何用户提供的容器加载。 |
|
文件格式 |
分隔文件(CSV、TSV 等) |
支持任何有效的分隔符;默认为逗号(即 CSV)。 |
|
||
文件编码 |
特定于文件格式 |
对于分隔文件(CSV、TSV 等),默认字符集为 UTF-8。要使用任何其他字符集,必须显式指定要用于加载的编码。有关支持的字符集列表,请参阅 分隔文件支持的字符集 (本主题内容)。 |
对于半结构化文件格式(JSON、Avro 等),唯一支持的字符集是 UTF-8。 |
分隔文件支持的字符集¶
下表列出了支持从分隔文件(CSV、TSV 等)加载数据的编码字符集:
字符 集 |
|
支持的语言 |
备注 |
---|---|---|---|
Big5 |
|
繁体中文 |
|
EUC-JP |
|
日语 |
|
EUC-KR |
|
韩语 |
|
GB18030 |
|
中文 |
|
IBM420 |
|
阿拉伯语 |
|
IBM424 |
|
希伯来语 |
|
IBM949 |
|
韩语 |
|
ISO-2022-CN |
|
简体中文 |
|
ISO-2022-JP |
|
日语 |
|
ISO-2022-KR |
|
韩语 |
|
ISO-8859-1 |
|
丹麦语、荷兰语、英语、法语、德语、意大利语、挪威语、葡萄牙语、瑞典语 |
|
ISO-8859-2 |
|
捷克语、匈牙利语、波兰语、罗马尼亚语 |
|
ISO-8859-5 |
|
俄语 |
|
ISO-8859-6 |
|
阿拉伯语 |
|
ISO-8859-7 |
|
希腊语 |
|
ISO-8859-8 |
|
希伯来语 |
|
ISO-8859-9 |
|
土耳其语 |
|
ISO-8859-15 |
|
丹麦语、荷兰语、英语、法语、德语、意大利语、挪威语、葡萄牙语、瑞典语 |
与 ISO-8859-1 相同,但 8 个字符除外,包括欧元货币符号。 |
KOI8-R |
|
俄语 |
|
Shift_JIS |
|
日语 |
|
UTF-8 |
|
所有语言 |
要从分隔文件(CSV、TSV 等)加载数据,默认为 UTF-8。. . 要从所有其他支持的文件格式(JSON、Avro 等)加载数据以及卸载数据,UTF-8 是唯一支持的字符集。 |
UTF-16 |
|
所有语言 |
|
UTF-16BE |
|
所有语言 |
|
UTF-16LE |
|
所有语言 |
|
UTF-32 |
|
所有语言 |
|
UTF-32BE |
|
所有语言 |
|
UTF-32LE |
|
所有语言 |
|
windows-949 |
|
韩语 |
|
windows-1250 |
|
捷克语、匈牙利语、波兰语、罗马尼亚语 |
|
windows-1251 |
|
俄语 |
|
windows-1252 |
|
丹麦语、荷兰语、英语、法语、德语、意大利语、挪威语、葡萄牙语、瑞典语 |
|
windows-1253 |
|
希腊语 |
|
windows-1254 |
|
土耳其语 |
|
windows-1255 |
|
希伯来语 |
|
windows-1256 |
|
阿拉伯语 |
压缩暂存文件¶
下表描述了 Snowflake 如何压缩要加载的数据文件。根据文件是暂存、未压缩还是已压缩,这些选项会有所不同:
功能 |
支持 |
备注 |
---|---|---|
未压缩的文件 |
gzip |
在 Snowflake 暂存区暂存未压缩的文件时,除非显式禁用压缩,否则将使用 gzip 自动压缩文件。 |
已压缩的文件 |
gzip bzip2 deflate raw_deflate |
Snowflake 可以自动检测这些压缩方法,您也可以显式指定用于压缩文件的方法。 |
Brotli Zstandard |
Brotli 压缩文件 尚不 支持自动检测;在暂存或加载 Brotli 压缩文件时,您必须显式指定使用的压缩方法。 |
加密暂存文件¶
下表描述了 Snowflake 如何加密要加载的数据文件。根据文件是暂存、未加密还是已加密,选项会有所不同:
功能 |
支持 |
备注 |
---|---|---|
未加密的文件 |
128 位或 256 位密钥 |
内部暂存区中用于数据加载和卸载操作的所有文件都会在服务器端使用 AES-256 强加密自动加密。默认情况下,Snowflake 使用 128 位密钥(可选择配置 256 位密钥)提供额外的客户端加密。 |
已加密的文件 |
用户提供的密钥 |
已加密的文件可以从外部云存储加载到 Snowflake 中;用于加密文件的密钥必须提供给 Snowflake。 |