Dados integrados do Amazon S3
Este artigo descreve como integrar dados em um novo Databricks workspace a partir do Amazon S3. O senhor aprenderá a acessar com segurança os dados de origem em um local de armazenamento de objetos na nuvem que corresponda a um volume do Unity Catalog (recomendado) ou a um local externo do Unity Catalog. Em seguida, o senhor aprenderá a ingerir os dados de forma incremental em uma tabela gerenciável Unity Catalog usando Auto Loader com DLT.
Para integrar dados em Databricks SQL em vez de em um Notebook, consulte as tabelas Carregar uso de dados de transmissão em Databricks SQL.
Antes de começar
Se o senhor não for um administrador, este artigo pressupõe que um administrador lhe forneceu o seguinte:
-
Acesso a um Databricks workspace com Unity Catalog ativado. Para obter mais informações, consulte Configurar e gerenciar Unity Catalog.
-
A permissão
READ VOLUME
no volume externo do Unity Catalog ou a permissãoREAD FILES
no local externo do Unity Catalog que corresponde ao local de armazenamento em nuvem que contém seus dados de origem. Para obter mais informações, consulte Criar um local externo para conectar o armazenamento em nuvem a Databricks. -
O caminho para seus dados de origem.
Exemplo de caminho de volume:
/Volumes/<catalog>/<schema>/<volume>/<path>/<folder>
Exemplo de caminho de localização externa:
s3://<bucket>/<folder>/
-
Os privilégios
USE SCHEMA
eCREATE TABLE
no esquema no qual você deseja carregar dados. -
permissão de criação de cluster ou acesso a uma política de cluster que define um cluster de DLT pipeline (campo
cluster_type
definido comodlt
).Se o caminho para os dados de origem for um caminho de volume, o clustering deverá ser executado Databricks Runtime 13.3 LTS ou acima.
Se o senhor tiver dúvidas sobre esses pré-requisitos, entre em contato com o administrador do account.
Etapa 1: Criar um clustering
Para criar um clustering, faça o seguinte:
- Faça login em seu site Databricks workspace.
- Na barra lateral, clique em New > clustering .
- Na interface do usuário de clustering, especifique um nome exclusivo para o clustering.
- Se o caminho para os dados de origem for um caminho de volume, para Databricks Runtime runtime version , selecione 13.2 ou acima.
- Clique em Criar cluster .
Etapa 2: Criar um Notebook de exploração de dados
Esta seção descreve como criar um Notebook de exploração de dados para que o senhor possa entender seus dados antes de criar o pipeline de dados.
-
Na barra lateral, clique em +Novo > Notebook .
O Notebook é automaticamente anexado ao último clustering que o senhor usou (nesse caso, o clustering que o senhor criou na Etapa 1: Criar um clustering ).
-
Insira um nome para o notebook.
-
Clique no botão de idioma e selecione
Python
ouSQL
no menu dropdown.Python
é selecionado por default. -
Para confirmar o acesso aos dados de origem em S3, cole o código a seguir em uma célula do Notebook, clique em
e, em seguida, clique em Executar célula .
- SQL
- Python
LIST '<path-to-source-data>'
%fs ls '<path-to-source-data>'
Substitua <path-to-source-data>
pelo caminho para o diretório que contém seus dados.
Isso exibe o conteúdo do diretório que contém o endereço dataset.
5. Para view uma amostra dos registros para entender melhor o conteúdo e o formato de cada registro, cole o seguinte em uma célula do Notebook, clique em e, em seguida, clique em executar Cell .
- SQL
- Python
SELECT * from read_files('<path-to-source-data>', format => '<file-format>') LIMIT 10
spark.read.format('<file-format>').load('<path-to-source-data>').limit(10).display()
Substitua os seguintes valores:
<file-format>
: Um formato de arquivo compatível. Consulte Opções de formato de arquivo.<path to source data>
: o caminho para um arquivo no diretório que contém seus dados.
Isso exibe os primeiros dez registros do arquivo especificado.
Etapa 3: ingestão de dados brutos
Para ingerir dados brutos, faça o seguinte:
-
Na barra lateral, clique em New > Notebook .
O Notebook é automaticamente anexado ao último clustering que o senhor usou (neste caso, o clustering que o senhor criou anteriormente neste artigo).
-
Insira um nome para o notebook.
-
Clique no botão de idioma e selecione
Python
ouSQL
no menu dropdown.Python
é selecionado por default. -
Cole o código a seguir em uma célula do Notebook:
- SQL
- Python
CREATE OR REFRESH STREAMING TABLE
<table-name>
AS SELECT
*
FROM
STREAM read_files(
'<path-to-source-data>',
format => '<file-format>'
)
@dlt.table(table_properties={'quality': 'bronze'})
def <table-name>():
return (
spark.readStream.format('cloudFiles')
.option('cloudFiles.format', '<file-format>')
.load(f'{<path-to-source-data>}')
)
Substitua os seguintes valores:
<table-name>
: um nome para a tabela que conterá os registros ingeridos.<path-to-source-data>
: O caminho para seus dados de origem.<file-format>
: Um formato de arquivo compatível. Consulte Opções de formato de arquivo.
A DLT não foi projetada para ser executada interativamente em células de Notebook. A execução de uma célula que contém sintaxe DLT em um Notebook retorna uma mensagem sobre se a consulta é sintaticamente válida, mas não executa a lógica da consulta. A etapa a seguir descreve como criar um pipeline a partir do Notebook de ingestão que o senhor acabou de criar.
Etapa 4: Criar e publicar um pipeline
Para criar um pipeline e publicá-lo no Unity Catalog, faça o seguinte:
- Na barra lateral, clique em fluxo de trabalho , clique em DLT tab e, em seguida, clique em Create pipeline .
- Digite um nome para seu pipeline.
- Para o modo de pipeline , selecione Triggered (Acionado) .
- Para Código-fonte , selecione o Notebook que contém o código-fonte do site pipeline.
- Em Destination (Destino ), selecione Unity Catalog .
- Para garantir que sua tabela seja gerenciada pelo site Unity Catalog e que qualquer usuário com acesso ao esquema pai possa consultá-la, selecione um Catalog e um Target schema nas listas suspensas.
- Se o senhor não tiver permissão de criação de cluster, selecione uma política de cluster que suporte DLT na lista suspensa.
- Para Advanced , defina o canal como Preview .
- Aceite todos os outros valores de default e clique em Create .
Etapa 5: programar o pipeline
Para programar o pipeline, faça o seguinte:
- Na barra lateral, clique em DLT .
- Clique no nome do pipeline que o senhor deseja programar.
- Clique em programar > Add a programar .
- Em Job name , digite um nome para o trabalho.
- Definir o programa como Scheduled .
- Especifique o período, a hora inicial e o fuso horário.
- Configure um ou mais endereços email para receber alertas sobre pipeline começar, ter sucesso ou falhar.
- Clique em Criar .
Próximas etapas
- Conceda aos usuários acesso à nova tabela. Para obter mais informações, consulte Unity Catalog privileges and securable objects.
- Os usuários com acesso à nova tabela agora podem consultar a tabela em um Notebook ou usar o editorDatabricks SQL.