Descarregamento no Google Cloud Storage

Se você já possui uma conta no Google Cloud Storage e utiliza buckets Cloud Storage para armazenar e gerenciar seus arquivos, pode fazer uso de seus buckets e caminhos de pastas existentes ao descarregar dados de tabelas Snowflake. Este tópico descreve como usar o comando COPY para descarregar dados de uma tabela para um bucket Cloud Storage. Você pode então baixar os arquivos de dados descarregados para seu sistema de arquivos local.

Como ilustrado no diagrama abaixo, o descarregamento de dados em um bucket Cloud Storage é realizado em duas etapas:

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 bucket Cloud Storage. No comando, você especifica um objeto de estágio externo nomeado que faz referência ao bucket Cloud Storage (recomendado) ou você pode optar por descarregar diretamente para o bucket especificando o URI e a integração de armazenamento (se necessário) para o bucket.

Independentemente do método utilizado, esta etapa requer um warehouse virtual atual e em funcionamento para a sessão se você executar o comando manualmente ou dentro de um script. O warehouse fornece os recursos computacionais para gravar linhas a partir da tabela.

Etapa 2:

Utilize as interfaces/ferramentas fornecidas pelo Google para baixar os arquivos do bucket Cloud Storage.

Descarregamento de dados para o armazenamento em nuvem

Dica

As instruções neste conjunto de tópicos supõem que você tenha lido Preparação para descarregar dados e criado um formato de arquivo nomeado, se desejar.

Antes de começar, você também pode ler Considerações sobre o descarregamento de dados para obter práticas recomendadas, dicas e outras orientações.

Neste tópico:

Configuração do armazenamento em nuvem para descarregar dados

Para que o Snowflake grave em um bucket Cloud Storage, você deve configurar um objeto de integração de armazenamento para delegar a responsabilidade de autenticação do armazenamento em nuvem externo a uma entidade de gerenciamento de identidade e acesso (IAM) do Snowflake.

Para instruções de configuração, consulte Configuração de uma integração para o Google Cloud Storage.

Descarregamento de dados em um estágio externo

Os estágios externos são objetos de banco de dados nomeados que proporcionam o maior grau de flexibilidade para o descarregamento de dados. Como eles são objetos de banco de dados, os privilégios para estágios nomeados podem ser concedidos a qualquer função.

Você pode criar um estágio externo nomeado usando a interface da Web ou SQL:

Classic Console:

Clique em Databases Guia Bancos de dados » <nome_bd> » Stages

SQL:

CREATE STAGE

Criação de um estágio nomeado

O exemplo seguinte cria um estágio externo chamado my_ext_unload_stage com um caminho de pasta chamado unload. O estágio faz referência aos seguintes objetos:

Descarregamento de dados para o estágio nomeado

  1. Use o comando COPY INTO <local> para descarregar dados de uma tabela para um bucket Cloud Storage usando o estágio externo.

    O exemplo seguinte usa o estágio my_ext_unload_stage para descarregar todas as linhas da tabela mytable em um ou mais arquivos no bucket Cloud Storage. Um prefixo de nome de arquivo d1 é aplicado aos arquivos:

    COPY INTO @my_ext_unload_stage/d1
    FROM mytable;
    
    Copy
  2. Utilize as ferramentas fornecidas pelo Cloud Storage para recuperar os objetos (ou seja, arquivos gerados pelo comando) do bucket.

Descarregamento de dados diretamente em um bucket Cloud Storage

  1. Use o comando COPY INTO <local> para descarregar dados de uma tabela diretamente para um bucket Cloud Storage especificado. Esta opção funciona bem para descarregamento ad hoc, quando você não está planejando descarregar dados regularmente com a mesma tabela e parâmetros de bucket.

    Você deve especificar o URI para o bucket Cloud Storage e a integração de armazenamento para acessar o bucket.

    O seguinte exemplo descarrega todas as linhas da tabela mytable em um ou mais arquivos com o prefixo do caminho da pasta unload/ em um bucket Cloud Storage:

    COPY INTO 'gcs://mybucket/unload/'
      FROM mytable
      STORAGE_INTEGRATION = gcs_int;
    
    Copy
  2. Utilize o console Cloud Storage (ou aplicativo cliente equivalente) para recuperar os objetos (ou seja, arquivos gerados pelo comando) do bucket.