GET

Baixar arquivos de dados de um dos seguintes estágios do Snowflake para um diretório/pasta local em uma máquina cliente:

  • Estágio interno nomeado.

  • Estágio interno de uma tabela específica.

  • Estágio interno do usuário atual

Normalmente, este comando é executado após usar o comando COPY INTO <local> para descarregar dados de uma tabela para um estágio de Snowflake.

Nota

  • GET não oferece suporte ao download de arquivos de estágios externos. Para baixar arquivos de estágios externos, utilize as ferramentas fornecidas pelo serviço de nuvem.

  • O driver ODBC oferece suporte a GET com contas Snowflake hospedadas nas seguintes plataformas:

    • Amazon Web Services (usando driver ODBC versão 2.17.5 e superior).

    • Google Cloud Platform (usando driver ODBC versão 2.21.5 e superior).

    • Microsoft Azure (usando driver ODBC versão 2.20.2 e superior).

Consulte também:

LIST , PUT , REMOVE

Sintaxe

GET internalStage file://<local_directory_path>
    [ PARALLEL = <integer> ]
    [ PATTERN = '<regex_pattern>'' ]
Copy

Onde:

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

Parâmetros obrigatórios

internalStage

Especifica o local no Snowflake a partir do qual se pode fazer o download dos arquivos:

@[namespace.]int_stage_name[/path]

Os arquivos são baixados do estágio interno nomeado especificado.

@[namespace.]%table_name[/path]

Os arquivos são baixados do estágio para a tabela especificada.

@~[/path]

Os arquivos são baixados do estágio para o usuário atual.

Onde:

  • namespace é o banco de dados e/ou esquema no qual se encontra a tabela ou o estágio interno. É opcional se um banco de dados e um esquema estiverem em uso atualmente na sessão; caso contrário, ele é obrigatório.

  • path é um caminho opcional que distingue letras maiúsculas de minúsculas para arquivos no local de armazenamento em nuvem (ou seja, os arquivos têm nomes que começam com uma cadeia de caracteres comum) que limita o acesso a um conjunto de arquivos. Os caminhos são chamados alternativamente de prefixos ou pastas por diferentes serviços de armazenamento em nuvem. Se path for especificado, mas nenhum arquivo for explicitamente nomeado no caminho, todos os arquivos de dados no caminho são baixados.

Nota

Se o nome do estágio ou caminho incluir espaços ou caracteres especiais, ele deve ser colocado entre aspas simples (por exemplo, '@"my stage"' para um estágio chamado "my stage").

file://local_directory_path

Especifica o caminho do diretório local e a máquina do cliente onde os arquivos são baixados:

Linux/macOS

Você deve incluir a barra inicial no caminho (por exemplo, file:///tmp/load).

Se o caminho do diretório incluir caracteres especiais, o URI do arquivo inteiro deve ser delimitado por aspas simples.

Windows

Você deve incluir a unidade e a barra invertida no caminho (por exemplo, file://C:tempload).

Se o caminho do diretório incluir caracteres especiais, o URI do arquivo inteiro deve ser delimitado por aspas simples. Observe que a unidade e o separador de caminho é uma barra (/) em URIs delimitados (por exemplo, 'file://C:/temp/load data' para um caminho no Windows que inclui um diretório chamado load data).

Nota

O comando GET retorna um erro se você especificar um nome de arquivo como parte do caminho, exceto se você usar o driver JDBC ou o driver ODBC. Se você especificar um nome de arquivo ao usar qualquer um dos drivers, o driver tratará o nome do arquivo como parte do caminho do diretório e criará um subdiretório com o nome de arquivo especificado.

Por exemplo, se você especificar file:///tmp/load/file.csv, o driver JDBC ou ODBC criará um subdiretório denominado file.csv/ no caminho /tmp/load/. O comando GET baixa então os arquivos preparados para esse novo subdiretório.

Parâmetros opcionais

PARALLEL = integer

Especifica o número de threads a serem usados para o download dos arquivos. A unidade de granularidade para o download é um arquivo.

Aumentar o número de threads pode melhorar o desempenho ao baixar arquivos grandes.

Valores suportados: qualquer valor inteiro de 1 (sem paralelismo) até 99 (use 99 threads para baixar arquivos).

Padrão: 10

PATTERN = 'regex_pattern'

Especifica um padrão de expressão regular para filtragem de arquivos para download. O comando lista todos os arquivos no path especificado e aplica o padrão de expressão regular em cada um dos arquivos encontrados.

Padrão: sem valor (todos os arquivos no estágio especificado são baixados)

Notas de uso

  • O comando não pode ser executado a partir da página Worksheets Worksheet tab na interface da web do Snowflake; em vez disso, use o cliente SnowSQL para baixar arquivos de dados, ou verifique a documentação do cliente específico do Snowflake para verificar o suporte a este comando.

  • O comando não renomeia arquivos.

  • Os arquivos baixados são descriptografados automaticamente usando a mesma chave que foi usada para criptografar o arquivo quando ele foi carregado (usando PUT) ou descarregado de uma tabela (usando COPY INTO <local>).

Exemplos

Baixar todos os arquivos no estágio da tabela mytable para o diretório local /tmp/data (em um ambiente Linux ou macOS):

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

Baixar arquivos do caminho myfiles no estágio do usuário atual para o diretório local /tmp/data (em um ambiente Linux ou macOS):

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