数据卸载功能摘要¶
本主题助力您快速了解以下受支持的功能:使用 COPY INTO <location> 命令将数据从 Snowflake 表卸载到平面文件。
请注意,某些受支持的功能(尤其是压缩和加密)取决于您是卸载到 Snowflake 内部位置还是外部位置(Amazon S3、Google Cloud Storage或 Microsoft Azure)。
本主题内容:
输出数据文件详细信息¶
下表描述了 Snowflake 在卸载数据时生成的输出文件的一般详细信息:
功能 |
支持 |
备注 |
---|---|---|
文件位置 |
本地文件 |
文件首先卸载到 Snowflake 内部位置,然后可以使用 GET 命令下载到本地。 |
Amazon S3 中的文件 |
文件可直接卸载到 S3 中用户提供的任何桶,然后可以使用 AWS 实用程序下载到本地。 |
|
Google Cloud Storage 中的文件 |
文件可以直接卸载到 Cloud Storage 中用户提供的任何容器,然后可以使用 Cloud Storage 实用程序下载到本地。 |
|
Microsoft Azure 中的文件 |
文件可以直接卸载到 Azure 中用户提供的任何容器,然后可以使用 Azure 实用程序下载到本地。 |
|
文件格式 |
分隔文件(CSV、TSV 等) |
支持任何有效的分隔符;默认为逗号(即 CSV)。 |
JSON |
||
Parquet |
||
文件编码 |
UTF-8 |
无论文件格式如何,输出文件始终使用 UTF-8 编码;不支持其他字符集。 |
备注
在内存压力较大的机器上运行卸载可能会导致文件大小变小。
输出数据文件的压缩¶
下表描述了 Snowflake 在卸载数据时如何处理 Snowflake 生成的输出文件的压缩:
文件位置 |
支持 |
备注 |
---|---|---|
内部或外部位置 |
gzip |
默认情况下,所有卸载的数据文件都使用 gzip 进行压缩,除非明确禁用压缩或明确指定其他支持的压缩方法。 |
bzip2 |
||
Brotli |
||
Zstandard |
备注
这是一个已知问题,我们目前不支持 compression=gzip
时为 Azure 和 Google Cloud Platform 设置 CONTENT-ENCODING。
输出数据文件的加密¶
下表描述了 Snowflake 在卸载数据时如何处理 Snowflake 生成的输出文件的加密。根据文件是否卸载到内部位置(即 Snowflake 暂存区)还是外部位置(Amazon S3、Google Cloud Storage 或 Microsoft Azure),选项会有所不同:
文件位置 |
支持 |
备注 |
---|---|---|
内部位置 |
128 位或 256 位密钥 |
卸载到 Snowflake 内部位置的所有数据文件都会使用 128 位密钥自动加密。文件下载到本地目录时将取消加密。 可启用 256 位密钥(更强的加密);但是,需要额外配置。 |
外部位置 |
用户提供的密钥 |
如果向 Snowflake 提供安全密钥(用于加密文件),则可对卸载到云存储的数据文件进行加密。 |