Visão geral do descarregamento de dados

Similar ao carregamento de dados, o Snowflake suporta a exportação em massa (ou seja, descarregamento) de dados de uma tabela de banco de dados em arquivos de texto simples delimitados.

Neste tópico:

Processo de descarregamento em massa

O processo de descarregamento de dados em arquivos é o mesmo que o processo de carregamento, exceto no sentido inverso:

Etapa 1

Use o comando COPY INTO <local> para copiar os dados da tabela do banco de dados Snowflake em um ou mais arquivos em um estágio externo ou Snowflake.

Etapa 2

Baixe o arquivo do estágio:

  • A partir de um estágio do Snowflake, use o comando GET para baixar o(s) arquivo(s) de dados.

  • No S3, utilize as interfaces/ferramentas fornecidas pelo Amazon S3 para obter o(s) arquivo(s) de dados.

  • No Azure, utilize as interfaces/ferramentas fornecidas pelo Microsoft Azure para obter o(s) arquivo(s) de dados.

Descarregamento em massa usando consultas

O Snowflake suporta especificar uma instrução SELECT em vez de uma tabela no comando COPY INTO <local>. Os resultados da consulta são gravados em um ou mais arquivos como especificado no comando e o(s) arquivo(s) são armazenados no local especificado (interno ou externo).

Consultas SELECT em instruções COPY suportam toda a sintaxe e semântica de consultas SQL do Snowflake, incluindo cláusulas JOIN, o que permite o download de dados de várias tabelas.

Descarregamento em massa em um arquivo ou vários

O comando COPY INTO <local> fornece uma opção de cópia (SINGLE) para descarregar dados em um único arquivo ou em vários arquivos. O padrão é SINGLE = FALSE (ou seja, descarregar em vários arquivos).

O Snowflake atribui a cada arquivo um nome único. O caminho de localização especificado para o comando pode conter um prefixo de nome de arquivo que é atribuído a todos os arquivos de dados gerados. Se um prefixo não for especificado, o Snowflake prefixa os nomes dos arquivos gerados com data_.

O Snowflake acrescenta um sufixo que garante que cada nome de arquivo seja único em todos os threads de execução paralela; por exemplo, data_stats_0_1_0.

Ao descarregar dados em vários arquivos, use a opção de cópia MAX_FILE_SIZE para especificar o tamanho máximo de cada arquivo criado.

Descarregamento de dados particionado

O comando COPY INTO <local> inclui uma opção de cópia PARTITION BY para descarregamento particionado de dados em estágios.

A capacidade de particionar dados durante a operação de descarregamento permite uma variedade de casos de uso, como fazer Snowflake transformar dados para saída em um data lake. Além disso, o particionamento dos dados descarregados em uma estrutura de diretório no armazenamento em nuvem pode aumentar a eficiência com que ferramentas de terceiros consomem os dados.

A opção de cópia PARTITION BY aceita uma expressão pela qual a operação de descarregamento particiona as linhas da tabela em arquivos separados descarregados no estágio especificado.

Tarefas para descarregar dados usando o comando COPY

Para obter mais informações sobre as tarefas associadas ao descarregamento de dados, consulte: