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 (i.e. AWS S3, Google Cloud Storage, or Microsoft Azure).

In this Topic:

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 PUT.

Files in AWS S3

Files can be unloaded directly to any user-supplied bucket in Amazon 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 Microsoft Azure, then can be downloaded locally using Cloud Storage utilities.

Files in Microsoft Azure

Files can be unloaded directly to any user-supplied container in Microsoft 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.

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

Interal 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

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 (i.e. AWS 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.