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.
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:
-
Na barra lateral, clique em Criar consulta > .
-
Na barra de menu do editor SQL, selecione um SQL warehouse.
-
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>/
. -
Clique em Executar .
Etapa 2: criar uma tabela
Esta passo descreve como criar uma tabela em seu workspace Databricks para armazenar os dados recebidos.
-
No editor SQL, cole o seguinte código:
SQLCREATE 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 passo descreve como carregar dados de um bucket S3 na tabela que você criou em seu workspace do Databricks.
-
Na barra lateral, clique em Criar consulta > .
-
Na barra de menu do editor SQL, selecione um SQL warehouse e certifique-se de que o SQL warehouse esteja em execução.
-
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.
SQLCOPY 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>;
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.
- Clique em Executar .
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
-
Na barra lateral, clique em Criar consulta > .
-
Selecione um SQL warehouse e certifique-se de que o SQL warehouse esteja em execução.
-
Cole o seguinte código:
SQLDROP TABLE <catalog-name>.<schema-name>.<table-name>;
-
Clique em Executar .
-
Passe o mouse sobre o site tab para essa consulta e clique no ícone X .
Excluir as consultas no editor SQL
- Na barra lateral, clique em SQL Editor .
- 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
- Os COPY INTO artigos de referência