Pular para o conteúdo principal

Carregar uso de dados COPY INTO com um instance profile

Este artigo descreve como usar o comando COPY INTO para carregar dados de um bucket Amazon S3 em seu AWS account em uma tabela em Databricks SQL.

As etapas deste artigo pressupõem que o administrador tenha configurado um SQL warehouse para usar um AWS instance profile para que o senhor possa acessar seus arquivos de origem em S3. Se o administrador configurou um local externo Unity Catalog com uma credencial de armazenamento, consulte Carregar uso de dados COPY INTO com volumes Unity Catalog ou locais externos. Se o administrador lhe forneceu credenciais temporárias (um ID de acesso AWS key , uma chave secreta e tokens de sessão), consulte Carregar uso de dados COPY INTO com credenciais temporárias.

A Databricks recomenda o uso do comando COPY INTO para o carregamento de dados incrementais e em massa com o Databricks SQL.

nota

COPY INTO funciona bem para fontes de dados que contêm milhares de arquivos. A Databricks recomenda que o senhor use o Auto Loader para carregar milhões de arquivos, o que não é suportado no Databricks SQL.

Antes de começar

Antes de carregar os dados na Databricks, certifique-se de que o senhor tem o seguinte:

  • Acesso a dados no S3. O administrador deve primeiro concluir as etapas em Configurar acesso a dados para ingestão para que o armazém Databricks SQL possa ler os arquivos de origem.
  • Um depósito Databricks SQL que usa o instance profile que seu administrador criou.
  • O senhor pode gerenciar a permissão no site SQL warehouse.
  • O URI S3 totalmente qualificado.
  • Familiaridade com a interface de usuário Databricks SQL.

Etapa 1: Confirme o acesso aos dados no armazenamento em nuvem

Para confirmar que você tem acesso aos dados corretos no armazenamento de objetos na nuvem, faça o seguinte:

  1. Na barra lateral, clique em Criar consulta > .

  2. Na barra de menu do editor SQL, selecione um SQL warehouse.

  3. No editor SQL, cole o seguinte código:

    select * from csv.<path>

    Substitua <path> pelo S3 URI que o senhor recebeu do administrador. Por exemplo, s3://<bucket>/<folder>/.

  4. Clique em Executar .

Etapa 2: criar uma tabela

Esta passo descreve como criar uma tabela em seu workspace Databricks para armazenar os dados recebidos.

  1. No editor SQL, cole o seguinte código:

    SQL
    CREATE TABLE <catalog_name>.<schema_name>.<table_name> (
    tpep_pickup_datetime TIMESTAMP,
    tpep_dropoff_datetime TIMESTAMP,
    trip_distance DOUBLE,
    fare_amount DOUBLE,
    pickup_zip INT,
    dropoff_zip INT
    );
  2. Clique em Executar .

Etapa 3: carregar dados do armazenamento em nuvem na tabela

Esta passo descreve como carregar dados de um bucket S3 na tabela que você criou em seu workspace do Databricks.

  1. Na barra lateral, clique em Criar consulta > .

  2. Na barra de menu do editor SQL, selecione um SQL warehouse e certifique-se de que o SQL warehouse esteja em execução.

  3. No editor SQL, cole o seguinte código. Nesse código, substitua:

    • <s3-bucket> com o nome do seu bucket S3.
    • <folder> com o nome da pasta em seu bucket S3.
    SQL
    COPY INTO <catalog-name>.<schema-name>.<table-name>
    FROM 's3://<s3-bucket>/<folder>/'
    FILEFORMAT = CSV
    FORMAT_OPTIONS (
    'header' = 'true',
    'inferSchema' = 'true'
    )
    COPY_OPTIONS (
    'mergeSchema' = 'true'
    );

    SELECT * FROM <catalog_name>.<schema_name>.<table_name>;
nota

FORMAT_OPTIONS difere dependendo de FILEFORMAT. Nesse caso, a opção header instrui o Databricks a tratar a primeira linha do arquivo CSV como um cabeçalho, e a opção inferSchema instrui o Databricks a determinar automaticamente o tipo de dados de cada campo no arquivo CSV.

  1. Clique em Executar .
nota

Se o senhor clicar em executar novamente, nenhum dado novo será carregado na tabela. Isso ocorre porque o comando COPY INTO processa apenas o que considera ser novos dados.

Limpe

O senhor pode limpar os recursos associados no site workspace se não quiser mais mantê-los.

Excluir as tabelas

  1. Na barra lateral, clique em Criar consulta > .

  2. Selecione um SQL warehouse e certifique-se de que o SQL warehouse esteja em execução.

  3. Cole o seguinte código:

    SQL
    DROP TABLE <catalog-name>.<schema-name>.<table-name>;
  4. Clique em Executar .

  5. Passe o mouse sobre o site tab para essa consulta e clique no ícone X .

Excluir as consultas no editor SQL

  1. Na barra lateral, clique em SQL Editor .
  2. Na barra de menu do editor SQL, passe o mouse sobre o tab para cada consulta que o senhor criou para esse tutorial e, em seguida, clique no ícone X .

Recurso adicional