Categories:

# GET¶

Downloads data files from one of the following Snowflake stages to a local directory/folder on a client machine:

• Named internal stage.

• Internal stage for a specified table.

• Internal stage for the current user.

Typically, this command is executed after using the COPY INTO <location> command to unload data from a table into a Snowflake stage.

Note

• The ODBC driver supports GET with Snowflake accounts hosted on the following platforms:

• Amazon Web Services (using ODBC Driver Version 2.17.5 and higher).

• Google Cloud Platform (using ODBC Driver Version 2.21.5 and higher).

• Microsoft Azure (using ODBC Driver Version 2.20.2 and higher).

## Syntax¶

GET internalStage file://<path_to_file>/<filename>
[ PARALLEL = <integer> ]
[ PATTERN = '<regex_pattern>'' ]


Where:

internalStage ::=
@[<namespace>.]<int_stage_name>[/<path>]
| @[<namespace>.]%<table_name>[/<path>]
| @~[/<path>]


## Required Parameters¶

internalStage

 @[namespace.]int_stage_name[/path] Files are downloaded from the specified named internal stage. @[namespace.]%table_name[/path] Files are downloaded from the stage for the specified table. @~[/path] Files are downloaded from the stage for the current user.

Where:

• namespace is the database and/or schema in which the named internal stage or table resides. It is optional if a database and schema are currently in use within the session; otherwise, it is required.

• path is an optional case-sensitive path for files in the cloud storage location (i.e. files have names that begin with a common string) that limits access to a set of files. Paths are alternatively called prefixes or folders by different cloud storage services. If path is specified, but no file is explicitly named in the path, all data files in the path are downloaded.

Note

If the stage name or path includes spaces or special characters, it must be enclosed in single quotes (e.g. '@"my stage"' for a stage named "my stage").

file://path_to_file

Specifies the local directory and path on the client machine where the files are downloaded:

Linux/macOS

You must include the initial forward slash in the path (e.g. file:///tmp/load).

If the directory path and/or filename includes special characters, the entire file URI must be enclosed in single quotes.

Windows

You must include the drive and backslash in the path (e.g. file://C:\temp\load).

If the directory path and/or filename includes special characters, the entire file URI must be enclosed in single quotes. Note that the drive and path separator is a forward slash (/) in enclosed URIs (e.g. 'file://C:/temp/load data' for a path in Windows that includes a directory named load data).

## Optional Parameters¶

PARALLEL = integer

Supported values: Any integer value from 1 (no parallelism) to 99 (use 99 threads for downloading files).

Default: 10

PATTERN = 'regex_pattern'

Specifies a regular expression pattern for filtering files to download. The command lists all files in the specified path and applies the regular expression pattern on each of the files found.

## Usage Notes¶

• The command cannot be executed from the Worksheets page in either Snowflake web interface; instead, use the SnowSQL client to download data files, or check the documentation for the specific Snowflake client to verify support for this command.

• The command does not rename files.

• Downloaded files are automatically decrypted using the same key that was used to encrypt the file when it was either uploaded (using PUT) or unloaded from a table (using COPY INTO <location>).

## Examples¶

Download all files in the stage for the mytable table to the /tmp/data local directory (in a Linux or macOS environment):

GET @%mytable file:///tmp/data/;


Download files from the myfiles path in the stage for the current user to the /tmp/data local directory (in a Linux or macOS environment):

GET @~/myfiles file:///tmp/data/;