Carregamento de dados do armazenamento em nuvem: GCS

Introdução

Este tutorial mostra como carregar dados do armazenamento em nuvem no Snowflake usando SQL. Você usa uma planilha modelo em Snowsight para concluir essas tarefas. Você pode escolher qual provedor de nuvem deseja usar: AWS S3, Microsoft Azure ou Google Cloud Storage (GCS). A planilha contém comandos SQL personalizados para compatibilidade com cada tipo de armazenamento.

Atenção

O exemplo fornecido neste tutorial é específico do GCS e mostra comandos SQL que funcionam para carregar dados de um bucket do GCS.

Nota

A Snowflake fatura uma quantidade mínima para o armazenamento em disco utilizado para os dados das amostras neste tutorial. Este tutorial fornece passos para descartar um banco de dados e minimizar o custo de armazenamento.

O Snowflake requer um warehouse virtual para carregar os dados e executar consultas. Um warehouse virtual em execução consome créditos do Snowflake. Neste tutorial, você usará uma conta de avaliação de 30 dias, que fornece créditos gratuitos, portanto você não terá custos.

O que você aprenderá

Neste tutorial você aprenderá a:

  • Use uma função que tenha privilégios para criar e usar os objetos Snowflake exigidos por este tutorial.

  • Use um warehouse para acessar recursos.

  • Crie um banco de dados e um esquema.

  • Crie uma tabela.

  • Crie uma integração de armazenamento para sua plataforma em nuvem.

  • Crie um estágio para sua integração de armazenamento.

  • Carregue dados na tabela a partir do estágio.

  • Consulte os dados na tabela.

Pré-requisitos

Este tutorial considera o seguinte:

Nota

Este tutorial está disponível apenas para usuários com conta de avaliação. A planilha de exemplo não está disponível para outros tipos de contas.

Etapa 1. Faça login usando Snowsight

Para acessar a Snowsight pela internet pública, faça o seguinte:

  1. Em um navegador da Web compatível, abra https://app.snowflake.com.

  2. Forneça seu identificador de conta ou URL de conta. Se você tiver feito login anteriormente na Snowsight, poderá ver um nome de conta que pode ser selecionado.

  3. Faça login usando as credenciais de sua conta Snowflake.

Etapa 2. Abra a planilha Carregar dados do armazenamento em nuvem

Você pode usar planilhas para escrever e executar comandos SQL em seu banco de dados. Sua conta de avaliação tem acesso a um modelo de planilha para este tutorial. A planilha contém os comandos SQL que você executará para criar objetos de banco de dados, carregar dados e consultar os dados. Por se tratar de uma planilha modelo, você será convidado a inserir seus próprios valores para determinados parâmetros SQL. Para obter mais informações sobre planilhas, consulte Introdução a planilhas.

A planilha deste tutorial não está pré-carregada na conta de avaliação. Para abrir a planilha deste tutorial:

  1. Se você estiver fazendo login na sua conta de avaliação Snowsight pela primeira vez, selecione Start em Load data into Snowflake na tela Where do you want to start?.

    Se você saiu da tela Where do you want to start?, vá para a guia Worksheets e selecione Continue no banner.

  2. Clique em qualquer lugar no painel central denominado Load data from cloud storage.

    O [Template] Load data from cloud storage worksheet é aberto e seu navegador é semelhante à imagem a seguir.

SQL carrega da planilha de modelo de nuvem, que contém os comandos SQL para este tutorial, juntamente com comentários descritivos.

Etapa 3. Defina a função e o warehouse a serem usados

A função que você usa determina os privilégios que você tem. Neste tutorial, use a função de sistema ACCOUNTADMIN para poder visualizar e gerenciar objetos em sua conta. Para obter mais informações, consulte Uso da função ACCOUNTADMIN.

Um warehouse fornece os recursos necessários para criar e gerenciar objetos e executar comandos SQL. Esses recursos incluem CPU, memória e armazenamento temporário. Sua conta de avaliação possui um warehouse virtual (compute_wh) que você pode usar neste tutorial. Para obter mais informações, consulte Warehouses virtuais.

Para definir a função e o warehouse a serem usados, faça o seguinte:

  1. Na planilha aberta, coloque o cursor na linha USE ROLE.

    USE ROLE accountadmin;
    
    Copy
  2. No canto superior direito da planilha, selecione Run.

    Nota

    Neste tutorial, execute instruções SQL, uma de cada vez. Não selecione Run All.

  3. Coloque o cursor na linha USE WAREHOUSE e selecione Run.

    USE WAREHOUSE compute_wh;
    
    Copy

Etapa 4. Criação de um banco de dados, esquema e tabela

Um banco de dados é um repositório para seus dados. Os dados são armazenados em tabelas que você pode gerenciar e consultar. Um esquema é um agrupamento lógico de objetos de banco de dados, como tabelas e exibições. Por exemplo, um esquema pode conter os objetos de banco de dados necessários para um aplicativo específico. Para obter mais informações, consulte Bancos de dados, tabelas e exibições - Visão geral.

Para criar um banco de dados, um esquema e uma tabela, faça o seguinte:

  1. Na planilha aberta, coloque o cursor na linha CREATE OR REPLACE DATABASE, insira um nome para seu banco de dados e um comentário opcional e selecione Run. Por exemplo:

    CREATE OR REPLACE DATABASE cloud_data_db
      COMMENT = 'Database for loading cloud data';
    
    Copy
  2. Coloque o cursor na linha CREATE OR REPLACE SCHEMA, insira um nome para seu esquema e um comentário opcional e selecione Run. Por exemplo:

    CREATE OR REPLACE SCHEMA cloud_data_db.gcs_data
      COMMENT = 'Schema for tables loaded from GCS';
    
    Copy
  3. Coloque o cursor nas linhas CREATE OR REPLACE TABLE, complete a definição da tabela, adicione um comentário opcional e selecione Run. Por exemplo, a tabela a seguir contém seis colunas:

    CREATE OR REPLACE TABLE cloud_data_db.gcs_data.calendar
      (
      full_date DATE,
      day_name VARCHAR(10),
      month_name VARCHAR(10),
      day_number VARCHAR(2),
      full_year VARCHAR(4),
      holiday BOOLEAN
      )
      COMMENT = 'Table to be loaded from GCS calendar data file';
    
    Copy
  4. Para confirmar que a tabela foi criada com sucesso, coloque o cursor na linha SELECT e selecione Run.

    SELECT * FROM cloud_data_db.gcs_data.calendar;
    
    Copy

    A saída mostra as colunas da tabela que você criou. Atualmente, a tabela não possui nenhuma linha.

Etapa 5. Crie uma integração de armazenamento

Antes de poder carregar dados do armazenamento em nuvem, você deve configurar uma integração de armazenamento específica para seu provedor de nuvem. O exemplo a seguir é específico do GCS.

As integrações de armazenamento são objetos Snowflake nomeados e de primeira classe que evitam a necessidade de passar credenciais explícitas de provedores de nuvens, tais como chaves secretas ou tokens de acesso; em vez disso, os objetos de integração fazem referência a uma conta do serviço do GCS.

Para criar uma integração de armazenamento para o GCS, faça o seguinte:

  1. Na planilha aberta, coloque o cursor nas linhas CREATE OR REPLACE STORAGE INTEGRATION, defina os parâmetros necessários e selecione Run. Por exemplo:

    CREATE OR REPLACE STORAGE INTEGRATION gcs_data_integration
      TYPE = EXTERNAL_STAGE
      STORAGE_PROVIDER = 'GCS'
      ENABLED = TRUE
      STORAGE_ALLOWED_LOCATIONS = ('gcs://tutorial24bucket/gcsdata/');
    
    Copy
  2. Coloque o cursor na linha DESCRIBE INTEGRATION, especifique o nome da integração de armazenamento que você criou e selecione Run. Este comando retorna informações sobre a integração de armazenamento que você criou, incluindo o ID de conta de serviço (STORAGE_GCP_SERVICE_ACCOUNT) criado automaticamente para sua conta Snowflake. Você usará este valor para configurar permissões para o Snowflake no console do GCS.

    DESCRIBE INTEGRATION gcs_data_integration;
    
    Copy

    A saída deste comando é semelhante a esta:

    Saída do comando DESCRIBE INTEGRATION, com as seguintes colunas: property, property_type, property_value, property_default.
  3. Coloque o cursor na linha SHOW INTEGRATIONS e selecione Run.

    SHOW INTEGRATIONS;
    
    Copy

    A saída deste comando é semelhante a esta:

    Saída do comando SHOW INTEGRATIONS, com as seguintes colunas: name, type, category, enabled, comment, created_on.
  4. Use o console do GCS para configurar permissões e acessar buckets de armazenamento de sua conta de serviço de armazenamento em nuvem. Siga a etapa 3 em Configuração de uma integração para o Google Cloud Storage.

Etapa 6. Crie um estágio

Um estágio é um local que contém arquivos de dados para carregar em um banco de dados Snowflake. Este tutorial cria um estágio que pode carregar dados de um tipo específico de armazenamento em nuvem, como um bucket do GCS.

Para criar um estágio, faça o seguinte:

  1. Na planilha aberta, coloque o cursor nas linhas CREATE OR REPLACE STAGE, especifique um nome, a integração de armazenamento que você criou, o URL do bucket e o formato de arquivo correto e selecione Run. Por exemplo:

    CREATE OR REPLACE STAGE cloud_data_db.gcs_data.gcsdata_stage
      STORAGE_INTEGRATION = gcs_data_integration
      URL = 'gcs://tutorial24bucket/gcsdata/'
      FILE_FORMAT = (TYPE = CSV);
    
    Copy
  2. Retorne informações sobre o estágio que você criou:

    SHOW STAGES;
    
    Copy

    A saída deste comando é semelhante a esta:

    Saída do comando SHOW STAGES

Etapa 7. Carregue dados do estágio

Carregue a tabela do estágio criado usando o comando COPY INTO <tabela>. Para obter mais informações sobre o carregamento de buckets do GCS, consulte Cópia de dados de um estágio do Google Cloud Storage.

Para carregar os dados na tabela, coloque o cursor nas linhas COPY INTO, especifique o nome da tabela, o estágio que você criou e o nome do arquivo (ou arquivos) que deseja carregar e selecione Run. Por exemplo:

COPY INTO cloud_data_db.gcs_data.calendar
  FROM @cloud_data_db.gcs_data.gcsdata_stage
    FILES = ('calendar.txt');
Copy

Seu resultado é semelhante à imagem a seguir.

Copie cinco linhas para a tabela.

Etapa 8. Consulte a tabela

Agora que os dados foram carregados, você pode executar consultas na tabela calendar.

Para executar uma consulta na planilha aberta, selecione a linha ou linhas do comando SELECT e selecione Run. Por exemplo, execute a seguinte consulta:

SELECT * FROM cloud_data_db.gcs_data.calendar;
Copy

Seu resultado é semelhante à imagem a seguir.

Selecione todas as linhas da tabela.

Etapa 9. Limpeza, resumo e recursos adicionais

Parabéns! Você concluiu com êxito este tutorial para contas de avaliação.

Reserve alguns minutos para ver um pequeno resumo e os pontos principais abordados no tutorial. Você também pode excluir os objetos criados no tutorial para liberar espaço. Saiba mais revisando outros tópicos na documentação do Snowflake.

Resumo e pontos principais

Em resumo, você usou um modelo de planilha pré-carregado no Snowsight para concluir as seguintes etapas:

  1. Definir a função e o warehouse a serem usados.

  2. Criar um banco de dados, esquema e tabela.

  3. Criar uma integração de armazenamento e configurar permissões no armazenamento em nuvem.

  4. Criar um estágio e carregar os dados do estágio na tabela.

  5. Consultar os dados.

Aqui estão alguns pontos importantes a serem lembrados sobre o carregamento e a consulta de dados:

  • Você precisa das permissões necessárias para criar e gerenciar objetos na sua conta. Neste tutorial, você usa a função de sistema ACCOUNTADMIN para esses privilégios.

    Esta função normalmente não é usada para criar objetos. Em vez disso, recomendamos a criação de uma hierarquia de funções alinhadas com as funções de negócios em sua organização. Para obter mais informações, consulte Uso da função ACCOUNTADMIN.

  • Você precisa de um warehouse para os recursos necessários para criar e gerenciar objetos e executar comandos SQL. Este tutorial usa o warehouse compute_wh incluído em sua conta de avaliação.

  • Você criou um banco de dados para armazenar os dados e um esquema para agrupar logicamente os objetos do banco de dados.

  • Você criou uma integração de armazenamento e um estágio para carregar os dados de um arquivo CSV armazenado em um bucket do GCS.

  • Depois que os dados foram carregados em seu banco de dados, você os consultou usando uma instrução SELECT.

Qual é o próximo passo?

Continue aprendendo sobre o Snowflake com os seguintes recursos: