Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Este artigo descreve como usar o COPY INTO comando para carregar dados de um contêiner do ADLS (Azure Data Lake Storage) em sua conta do Azure em uma tabela no Databricks SQL.
As etapas deste artigo pressupõem que o administrador configurou um SQL warehouse para usar uma entidade de serviço do Azure Databricks, para que você possa acessar seus arquivos de origem no ADLS. Se o administrador configurou um local externo do Catálogo do Unity com uma credencial de armazenamento, consulte Carregar dados usando COPY INTO com volumes do Catálogo do Unity ou locais externos . Se o administrador lhe deu credenciais temporárias (um token SAS de Blob), siga as etapas em Carregar dados usando COPY INTO com credenciais temporárias em vez disso.
O Databricks recomenda usar o COPY INTO comando para carregamento de dados incremental e em massa com o Databricks SQL.
Observação
COPY INTO funciona bem para fontes de dados que contêm milhares de arquivos. O Databricks recomenda que você use o Carregador Automático para carregar milhões de arquivos, o que não tem suporte no SQL do Databricks.
Antes de começar
Antes de carregar dados no Azure Databricks, verifique se você tem o seguinte:
- Acesso a dados no ADLS. Seu administrador deve primeiro concluir as etapas em Configurar acesso a dados da ingestão para que seu Databricks SQL warehouse possa ler seus arquivos de origem.
- Um SQL warehouse do Databricks.
- A permissão Pode gerenciar no SQL warehouse.
- O caminho para seus dados em um contêiner do ADLS.
- Familiaridade com a interface do usuário do SQL do Databricks.
Etapa 1: confirmar acesso aos dados no armazenamento em nuvem
Para confirmar que você tem acesso aos dados corretos no armazenamento de objetos em nuvem, faça o seguinte:
Na barra lateral, clique em Criar > Consulta.
Na barra de menus do editor do SQL, selecione um SQL Warehouse.
No editor SQL, cole o seguinte código:
select * from csv.<path>Substitua
<path>pelo caminho de contêiner do ADLS que você recebeu do administrador. Por exemplo,abfss://<container>@<storage-account>.dfs.core.windows.net/<folder>.Clique em Executar.
Etapa 2: criar uma tabela
Essa etapa descreve como criar uma tabela em seu workspace do Azure Databricks para conter os dados de entrada.
No editor SQL, cole o seguinte código:
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 );Clique em Executar.
Etapa 3: carregar dados do armazenamento em nuvem na tabela
Esta etapa descreve como carregar dados de um contêiner do ADLS na tabela em seu workspace do Azure Databricks.
Na barra lateral, clique em Criar > Consulta.
Na barra de menus do editor do SQL, selecione um SQL Warehouse e verifique se o SQL Warehouse está em execução.
No editor SQL, cole o código a seguir. Neste código, substitua:
-
<container>com o nome do contêiner do ADLS em sua conta de armazenamento. -
<storage-account>com o nome da sua conta de armazenamento do ADLS. -
<folder>com o nome da pasta que contém seus dados. -
<blob-sas-token>com o valor do token SAS de Blob que você recebeu de seu administrador.
COPY INTO <catalog-name>.<schema-name>.<table-name> FROM 'abfss://<container>@<storage-account>.dfs.core.windows.net/<folder>' FILEFORMAT = CSV FORMAT_OPTIONS ( 'header' = 'true', 'inferSchema' = 'true' ); SELECT * FROM <catalog-name>.<schema-name>.<table-name>;Observação
FORMAT_OPTIONSdifere deFILEFORMAT. Nesse caso, a opçãoheaderinstrui o Azure Databricks a tratar a primeira linha do arquivo CSV como um cabeçalho e as opçõesinferSchemainstruem o Azure Databricks a determinar automaticamente o tipo de dados de cada campo no arquivo CSV.-
Clique em Executar.
Observação
Se você clicar novamente em Executar, nenhum dado novo será carregado na tabela. Isso ocorre porque o comando
COPY INTOprocessa somente o que considera novos dados.
Limpar
Você pode limpar os recursos associados no seu workspace, caso não queira mais mantê-los.
Excluir as tabelas
Na barra lateral, clique em Criar > Consulta.
Selecione um SQL warehouse e verifique se o SQL warehouse está em execução.
Cole o seguinte código:
DROP TABLE <catalog-name>.<schema-name>.<table-name>;Clique em Executar.
Passe o mouse sobre a guia dessa consulta e clique no ícone X.
Excluir as consultas no editor SQL
- Na barra lateral, clique em Editor SQL.
- Na barra de menus do editor do SQL, passe o mouse sobre a guia de cada consulta que você criou para este tutorial e clique no ícone X .
Recursos adicionais
- O artigo de referência de COPY INTO