Ingerir dados do Celigo
Beta
Este recurso está em Beta. Workspace admins can control access to this recurso from the Previews page. See Gerenciar Databricks previews.
Esta página mostra como criar um pipeline de ingestão gerenciado do Celigo usando o Lakeflow Connect.
Requisitos
-
Para criar um pipeline de ingestão, primeiro atenda aos seguintes requisitos:
-
Seu workspace deve estar habilitado para o Unity Catalog.
-
O compute serverless deve estar habilitado para seu workspace. Consulte Requisitos de Serverless compute.
-
Para criar uma nova conexão, você deve ter privilégios
CREATE CONNECTIONno metastore. Consulte Gerenciar privilégios no Unity Catalog.If the connector supports UI-based pipeline authoring, an admin can create the connection and the pipeline at the same time by completing the os passos on this page. However, if the users who create pipelines use API-based pipeline authoring or are non-admin users, an admin must first create the connection in Catalog Explorer. See Connect to gerenciar ingestion sources.
-
To use an existing connection, you must have
USE CONNECTIONprivileges orALL PRIVILEGESon the connection object. -
Você deve ter privilégios
USE CATALOGno catálogo de destino. -
Você deve ter os privilégios
USE SCHEMAeCREATE TABLEem um esquema existente ou privilégiosCREATE SCHEMAno catálogo de destino.
-
-
Para fazer a ingestão do Celigo, primeiro configure a autenticação do Databricks e crie uma conexão. Consulte Configurar a autenticação para o Celigo e Criar uma conexão do Celigo.
Opções do conector
Defina opções com escopo de pipeline em source_configurations e opções com escopo de tabela no objeto individual. Consulte Exemplos para ver o uso.
Opção | Escopo | Obrigatório | Aplica-se a | Descrição |
|---|---|---|---|---|
| Tabela | Não |
| Data e hora UTC ISO-8601 para o início do preenchimento retroativo (backfill) da primeira sincronização. Default 365 dias antes do primeiro início da sincronização. |
Criar um pipeline de ingestão
Para ver a lista de tabelas de origem compatíveis, consulte Tabelas de origem compatíveis.
- Databricks UI
- Declarative Automation Bundles
- Databricks notebook
- Na barra lateral do workspace do Databricks, clique em Ingestão de dados .
- Na página Add data , em Databricks connectors , clique em Celigo .
- Na página Connection do assistente de ingestão, selecione a conexão que armazena suas credenciais do Celigo. Se você tiver o privilégio
CREATE CONNECTIONno metastore, clique emCreate connection para criar uma conexão com as credenciais de Configure authentication to Celigo.
- Clique em Avançar .
- Na página Ingestion setup , insira um nome para o pipeline.
- Selecione um catálogo e um esquema para gravar os Logs de eventos. Se você tiver os privilégios
USE CATALOGeCREATE SCHEMAno catálogo, clique emCreate schema no menu suspenso para criar um esquema.
- Click Create pipeline and continue .
- Na página Source , selecione as tabelas para ingestão.
- Click Save and continue .
- Na página Destination , selecione um catálogo e um esquema para carregar os dados. Se você tiver os privilégios
USE CATALOGeCREATE SCHEMAno catálogo, clique emCreate schema no menu suspenso para criar um esquema.
- Click Save and continue .
- (Opcional) Na página Schedules and notifications , clique em
programar . Defina a frequência para refresh das tabelas de destino.
- (Opcional) Clique em
Add notification para definir notificações por email para o sucesso ou falha na operação do pipeline e, em seguida, clique em Save and run pipeline .
Use os Pacotes de Automação Declarativa para gerenciar pipelines do Celigo como código. Os pacotes podem conter definições YAML de Jobs e tarefas, são gerenciados usando a CLI do Databricks e podem ser compartilhados e ter execução em diferentes Workspaces de destino (como desenvolvimento, staging e produção). Para obter mais informações, consulte O que são os Pacotes de Automação Declarativa?.
-
Crie um bundle usando a CLI do Databricks:
Bashdatabricks bundle init -
Adicione dois novos arquivos de recurso ao pacote:
- Um arquivo de definição de pipeline (por exemplo,
resources/celigo_pipeline.yml). Veja pipeline.ingestion_definition e Exemplos. - Um arquivo de definição de job que controla a frequência da ingestão de dados (por exemplo,
resources/celigo_job.yml).
- Um arquivo de definição de pipeline (por exemplo,
-
Implantar o pipeline usando a CLI do Databricks:
Bashdatabricks bundle deploy
- Importe o seguinte notebook para o seu Workspace do Databricks:
-
Deixe as células um e dois como estão. Não modifique.
-
Modifique a terceira célula com os detalhes de configuração do seu pipeline. Consulte pipeline.ingestion_definition e Exemplos.
-
Optionally configure advanced pipeline settings. See Common patterns for gerenciados ingestion pipelines.
-
Clique em Executar tudo .
Exemplos
O conector Celigo disponibiliza a tabela de origem audit_logs no esquema de origem default. Ingira a tabela diretamente ou ingira o esquema inteiro.
Ingerir tabelas específicas
Use esta opção para ingerir um subconjunto específico de tabelas ou para personalizar a nomenclatura de destino por tabela. Defina o início opcional do preenchimento retroativo start_datetime no objeto audit_logs.
- Declarative Automation Bundles
- Databricks notebook
O seguinte arquivo de definição de pipeline ingere tabelas individuais do Celigo:
resources:
pipelines:
celigo_pipeline:
name: celigo_pipeline
catalog: 'main'
target: 'celigo_data'
ingestion_definition:
connection_name: celigo_connection
objects:
- table:
source_schema: 'default'
source_table: 'audit_logs'
destination_catalog: 'main'
destination_schema: 'celigo_data'
destination_table: 'audit_logs'
connector_options:
api_source_connector_options:
options:
start_datetime: '<start-datetime>'
A seguinte especificação de pipeline ingere tabelas individuais do Celigo:
pipeline_name = "celigo_pipeline"
connection_name = "<celigo-connection>"
pipeline_spec = {
"name": pipeline_name,
"ingestion_definition": {
"connection_name": connection_name,
"objects": [
{
"table": {
"source_schema": "default",
"source_table": "audit_logs",
"destination_catalog": "main",
"destination_schema": "celigo_data",
"destination_table": "audit_logs",
"connector_options": {
"api_source_connector_options": {
"options": {
"start_datetime": "<start-datetime>"
}
}
}
}
}
]
}
}
json_payload = json.dumps(pipeline_spec, indent=2)
create_pipeline(json_payload)
Ingerir o esquema inteiro
Use esta opção para ingerir todas as tabelas de origem do Celigo em um único esquema de destino com uma declaração.
- Declarative Automation Bundles
- Databricks notebook
O arquivo de definição de pipeline a seguir ingere todas as tabelas do Celigo compatíveis em um esquema de destino:
resources:
pipelines:
celigo_pipeline:
name: celigo_pipeline
catalog: 'main'
target: 'celigo_data'
ingestion_definition:
connection_name: celigo_connection
objects:
- schema:
source_schema: 'default'
destination_catalog: 'main'
destination_schema: 'celigo_data'
A seguinte especificação de pipeline ingere todas as tabelas Celigo compatíveis em um esquema de destino:
pipeline_name = "celigo_pipeline"
connection_name = "<celigo-connection>"
pipeline_spec = {
"name": pipeline_name,
"ingestion_definition": {
"connection_name": connection_name,
"objects": [
{
"schema": {
"source_schema": "default",
"destination_catalog": "main",
"destination_schema": "celigo_data"
}
}
]
}
}
json_payload = json.dumps(pipeline_spec, indent=2)
create_pipeline(json_payload)
Arquivo de definição de job do Pacote de Automação Declarativa
O arquivo a seguir é um exemplo de definição de job para uso com pacotes de automação declarativa (Declarative Automation Bundles). O job é executado diariamente.
- Declarative Automation Bundles
resources:
jobs:
celigo_job:
name: celigo_job
schedule:
quartz_cron_expression: '0 0 0 * * ?'
timezone_id: 'UTC'
tasks:
- task_key: celigo_ingestion
pipeline_task:
pipeline_id: ${resources.pipelines.celigo_pipeline.id}
Padrões comuns
For advanced pipeline configurations, see Common patterns for managed ingestion pipelines.
Os passos seguintes
Comece, programe e defina alertas no seu pipeline. Consulte Tarefas comuns de manutenção de pipeline.