Similar to data loading, Snowflake supports bulk export (i.e. unload) of data from a database table into flat, delimited text files.

In this Topic:

Step 1

Use the COPY INTO <location> command to copy the data from the Snowflake database table into one or more files in a Snowflake or external stage.

Step 2

• From a Snowflake stage, use the GET command to download the data file(s).

• From S3, use the interfaces/tools provided by Amazon S3 to get the data file(s).

• From Azure, use the interfaces/tools provided by Microsoft Azure to get the data file(s).

Snowflake supports specifying a SELECT statement instead of a table in the COPY INTO <location> command. The results of the query are written to one or more files as specified in the command and the file(s) are stored in the specified location (internal or external).

SELECT queries in COPY statements support the full syntax and semantics of Snowflake SQL queries, including JOIN clauses, which enables downloading data from multiple tables.

Snowflake assigns each file a unique name. The location path specified for the command can contain a filename prefix that is assigned to all the data files generated. If a prefix is not specified, Snowflake prefixes the generated filenames with data_.
Snowflake appends a suffix that ensures each file name is unique across parallel execution threads; e.g. data_stats_0_1_0.