Summary of Data Unloading Features¶
This topic provides a quick-reference of the supported features for using the COPY INTO <location> command to unload data from Snowflake tables into flat files.
Note that some of the supported features, particularly compression and encryption, are dictated by whether you are unloading to a Snowflake internal location or an external location (Amazon S3, Google Cloud Storage, or Microsoft Azure).
Output Data File Details¶
The following table describes the general details for the output files generated by Snowflake when unloading data:
Feature |
Supported |
Notes |
---|---|---|
Location of files |
Local files |
Files are first unloaded to a Snowflake internal location, then can be downloaded locally using GET. |
Files in Amazon S3 |
Files can be unloaded directly to any user-supplied bucket in S3, then can be downloaded locally using AWS utilities. |
|
Files in Google Cloud Storage |
Files can be unloaded directly to any user-supplied container in Cloud Storage, then can be downloaded locally using Cloud Storage utilities. |
|
Files in Microsoft Azure |
Files can be unloaded directly to any user-supplied container in Azure, then can be downloaded locally using Azure utilities. |
|
File formats |
Delimited files (CSV, TSV, etc.) |
Any valid delimiter is supported; default is comma (i.e. CSV). |
JSON |
||
Parquet |
||
File encoding |
UTF-8 |
Output files are always encoded using UTF-8, regardless of the file format; no other character sets are supported. |
Note
Unloads running on machines with memory pressure may result in files of smaller size.
Compression of Output Data Files¶
The following table describes how Snowflake handles compression for the output files generated by Snowflake when unloading data:
Location of Files |
Supported |
Notes |
---|---|---|
Internal or external location |
gzip |
By default, all unloaded data files are compressed using gzip, unless compression is explicitly disabled or one of the other supported compression methods is explicitly specified. |
bzip2 |
||
Brotli |
||
Zstandard |
Note
It is a known issue that we currently do not support setting CONTENT-ENCODING for Azure and Google Cloud Platform when compression=gzip
.
Encryption of Output Data Files¶
The following table describes how Snowflake handles encryption for the output files generated by Snowflake when unloading data. The options are different depending on whether the files are unloaded to an internal location (i.e. Snowflake stage) or external location (Amazon S3, Google Cloud Storage, or Microsoft Azure):
Location of Files |
Supported |
Notes |
---|---|---|
Internal location |
128-bit or 256-bit keys |
All data files unloaded to Snowflake internal locations are automatically encrypted using 128-bit keys. The files are unencrypted when they are downloaded to the local directory. 256-bit keys can be enabled (for stronger encryption); however, additional configuration is required. |
External location |
User-supplied key |
Data files unloaded to cloud storage can be encrypted if a security key (for encrypting the files) is provided to Snowflake. |