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.

Requisitos​

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​