Dados integrados do Google Cloud Storage
Este artigo descreve como integrar dados do Google Cloud Storage a um novo workspace Databricks . Você aprenderá como acessar com segurança os dados de origem em um local de armazenamento de objetos cloud que corresponda a um volume Unity Catalog (recomendado) ou a um local externo Unity Catalog . Em seguida, você aprenderá como ingerir os dados incrementalmente em uma tabela de gerenciamento Unity Catalog usando Auto Loader com o pipeline declarativo LakeFlow Spark .
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 Get começar with Unity Catalog.
-
A permissão
READ VOLUMEno volume externo Unity Catalog ou a permissãoREAD FILESno local externo Unity Catalog que corresponde ao local de armazenamento cloud que contém os dados de origem. Para obter mais informações, consulte Conceder permissões em um local externo -
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:
gs://<bucket>/<folder> -
Os privilégios
USE SCHEMAeCREATE TABLEno 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 pipeline ( campo
cluster_typedefinido 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
PythonouSQLno menu dropdown.Pythoné selecionado por default. -
Para confirmar o acesso aos dados de origem em GCS, 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.
- 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
PythonouSQLno 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>'
)
@dp.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.
O pipeline declarativo LakeFlow Spark não foi projetado para execução interativa em células de Notebook. Executar uma célula que contém a sintaxe declarativa do pipeline LakeFlow Spark em um Notebook retorna uma mensagem sobre se a consulta é sintaticamente válida, mas não executa a lógica da consulta. A seguir, descrevemos como criar um pipeline a partir do Notebook de ingestão que você acabou de criar.
Etapa 4: Criar e publicar um pipeline
Para criar um pipeline e publicá-lo no Unity Catalog, faça o seguinte:
- Em seu site workspace, clique em
Jobs & pipeline na barra lateral.
- Em New (Novo ), clique em ETL pipeline (Pipeline ETL ).
- 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 você não tiver permissão para criar cluster , selecione uma política de cluster que suporte o pipeline declarativo LakeFlow Spark 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:
- Em seu site workspace, clique em
Jobs & pipeline na barra lateral.
- 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.