Ingerir dados do Oracle Eloqua
Versão beta
Esse recurso está em Beta. Para usar esse recurso, um administrador do workspace deve ativar o Lakeflow Connect para Oracle Eloqua na página Pré-visualizações . Consulte Gerenciar prévias do Databricks.
Crie um pipeline gerenciado do LakeFlow Connect que ingere dados do Oracle Eloqua em tabelas do Unity Catalog. Use a interface do usuário do Databricks, Pacotes de Automação Declarativa ou um notebook do Databricks.
Requisitos
-
Para criar um pipeline de ingestão, primeiro cumpra os seguintes requisitos:
-
Seu workspace deve estar habilitado para o Unity Catalog.
-
O compute serverless deve estar habilitado para seu workspace. Consulte Requisitos de compute Serverless.
-
Para criar uma nova conexão, você deve ter privilégios
CREATE CONNECTIONno metastore. Consulte Gerenciar privilégios no Unity Catalog.Se o conector for compatível com a criação de pipeline baseada em IU, um administrador poderá criar a conexão e o pipeline ao mesmo tempo, concluindo os passos nesta página. No entanto, se os usuários que criam pipelines usarem a criação de pipeline baseada em API ou forem usuários não administradores, um administrador deverá criar primeiro a conexão no Catálogo Explorer. Consulte Conectar-se a fontes de ingestão gerenciadas.
-
Para usar uma conexão existente, você deve ter privilégios
USE CONNECTIONouALL PRIVILEGESno objeto de conexão. -
Você deve ter privilégios
USE CATALOGno catálogo de destino. -
Você deve ter os privilégios
USE SCHEMAeCREATE TABLEem um esquema existente ou os privilégiosCREATE SCHEMAno catálogo de destino.
-
-
Para ingerir dados do Oracle Eloqua, primeiro configure a autenticação do Databricks e crie uma conexão. Consulte Configurar autenticação para Oracle Eloqua e Criar uma conexão com Oracle Eloqua.
Opções do conector
Para as opções que o conector Oracle Eloqua aceita, seu escopo e as tabelas às quais se aplicam, consulte Opções do conector. Defina opções de escopo do pipeline em source_configurations. Consulte Exemplos para uso.
Criar um pipeline de ingestão
Para obter a lista de tabelas de origem suportadas, consulte Tabelas de origem suportadas.
- Databricks UI
- Declarative Automation Bundles
- Databricks notebook
- Na barra lateral do workspace do Databricks, clique em Ingestão de dados .
- Na página Adicionar dados , em Conectores do Databricks , clique em Oracle Eloqua .
- Na página Conexão do assistente de ingestão, selecione a conexão que armazena suas credenciais do Oracle Eloqua. Se você tiver o privilégio
CREATE CONNECTIONno metastore, clique emCriar conexão para criar uma conexão com as credenciais de Configurar a autenticação para o Oracle Eloqua.
- Clique em Avançar .
- Na página Configuração de ingestão , insira um nome para o pipeline.
- Selecione um catálogo e um esquema para gravar logs de eventos. Se você tiver os privilégios
USE CATALOGeCREATE SCHEMAno catálogo, clique emCriar esquema no menu suspenso para criar um esquema.
- Clique em Criar pipeline e continuar .
- Na página Fonte , selecione as tabelas para ingestão.
- Clique em Salvar e continuar .
- Na página Destino , selecione um catálogo e um esquema para carregar os dados. Se você tiver privilégios
USE CATALOGeCREATE SCHEMAno catálogo, clique emCriar esquema no menu suspenso para criar um esquema.
- Clique em Salvar e continuar .
- (Opcional) Na página Cronogramas e notificações , clique em
Criar programar . Defina a frequência para refresh as tabelas de destino.
- (Opcional) Clique em
Adicionar notificação para definir notificações por email para sucesso ou falha na operação do pipeline e, em seguida, clique em Salvar e executar pipeline .
Use os Pacotes de Automação Declarativa para gerenciar pipelines do Oracle Eloqua 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 Workspace 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 pacote usando a CLI do Databricks:
Bashdatabricks bundle init -
Adicione dois novos arquivos de recursos ao pacote:
- Um arquivo de definição de pipeline (por exemplo,
resources/oracle_eloqua_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/oracle_eloqua_job.yml).
- Um arquivo de definição de pipeline (por exemplo,
-
Implante 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, dois e três como estão.
-
Modifique a célula quatro com os detalhes de configuração do pipeline. Veja pipeline.ingestion_definition e Exemplos.
-
Configure opcionalmente as configurações avançadas do pipeline. Consulte Padrões comuns para pipelines de ingestão gerenciados.
-
Clique em Executar tudo .
Exemplos
O conector Oracle Eloqua disponibiliza suas tabelas de origem no esquema de origem default . Para a lista de tabelas, consulte Tabelas de origem compatíveis. Ingira tabelas individuais ou 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.
- Declarative Automation Bundles
- Databricks notebook
O arquivo de definição de pipeline a seguir ingere tabelas individuais do Oracle Eloqua:
resources:
pipelines:
oracle_eloqua_pipeline:
name: oracle_eloqua_pipeline
catalog: 'main'
target: 'oracle_eloqua_data'
ingestion_definition:
connection_name: oracle_eloqua_connection
objects:
- table:
source_schema: 'default'
source_table: 'contact'
destination_catalog: 'main'
destination_schema: 'oracle_eloqua_data'
destination_table: 'contact'
- table:
source_schema: 'default'
source_table: 'campaign'
destination_catalog: 'main'
destination_schema: 'oracle_eloqua_data'
destination_table: 'campaign'
- table:
source_schema: 'default'
source_table: 'form_submission'
destination_catalog: 'main'
destination_schema: 'oracle_eloqua_data'
destination_table: 'form_submission'
A seguinte especificação de pipeline ingere tabelas individuais do Oracle Eloqua:
pipeline_name = "oracle_eloqua_pipeline"
connection_name = "<oracle-eloqua-connection>"
pipeline_spec = {
"name": pipeline_name,
"ingestion_definition": {
"connection_name": connection_name,
"objects": [
{
"table": {
"source_schema": "default",
"source_table": "contact",
"destination_catalog": "main",
"destination_schema": "oracle_eloqua_data",
"destination_table": "contact"
}
},
{
"table": {
"source_schema": "default",
"source_table": "campaign",
"destination_catalog": "main",
"destination_schema": "oracle_eloqua_data",
"destination_table": "campaign"
}
},
{
"table": {
"source_schema": "default",
"source_table": "form_submission",
"destination_catalog": "main",
"destination_schema": "oracle_eloqua_data",
"destination_table": "form_submission"
}
}
]
}
}
json_payload = json.dumps(pipeline_spec, indent=2)
create_pipeline(json_payload)
Ingerir a partir de uma data de início específica
Use a opção start_datetime para controlar até que ponto as tabelas incrementais lidas em sua primeira sincronização.
- Declarative Automation Bundles
- Databricks notebook
O seguinte arquivo de definição de pipeline ingere tabelas do Oracle Eloqua a partir de uma data de começar específica:
resources:
pipelines:
oracle_eloqua_pipeline:
name: oracle_eloqua_pipeline
catalog: 'main'
target: 'oracle_eloqua_data'
ingestion_definition:
connection_name: oracle_eloqua_connection
source_configurations:
- api_source_connector_config:
configs:
start_datetime: '<start-datetime>'
objects:
- table:
source_schema: 'default'
source_table: 'contact'
destination_catalog: 'main'
destination_schema: 'oracle_eloqua_data'
destination_table: 'contact'
- table:
source_schema: 'default'
source_table: 'form_submission'
destination_catalog: 'main'
destination_schema: 'oracle_eloqua_data'
destination_table: 'form_submission'
A seguinte especificação de pipeline ingere tabelas Oracle Eloqua a partir de uma data de início específica:
pipeline_name = "oracle_eloqua_pipeline"
connection_name = "<oracle-eloqua-connection>"
pipeline_spec = {
"name": pipeline_name,
"ingestion_definition": {
"connection_name": connection_name,
"source_configurations": [
{
"api_source_connector_config": {
"configs": {
"start_datetime": "<start-datetime>"
}
}
}
],
"objects": [
{
"table": {
"source_schema": "default",
"source_table": "contact",
"destination_catalog": "main",
"destination_schema": "oracle_eloqua_data",
"destination_table": "contact"
}
},
{
"table": {
"source_schema": "default",
"source_table": "form_submission",
"destination_catalog": "main",
"destination_schema": "oracle_eloqua_data",
"destination_table": "form_submission"
}
}
]
}
}
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 Oracle Eloqua em um único esquema de destino com uma única declaração.
- Declarative Automation Bundles
- Databricks notebook
O arquivo de definição de pipeline a seguir ingere todas as tabelas Oracle Eloqua compatíveis em um esquema de destino:
resources:
pipelines:
oracle_eloqua_pipeline:
name: oracle_eloqua_pipeline
catalog: 'main'
target: 'oracle_eloqua_data'
ingestion_definition:
connection_name: oracle_eloqua_connection
objects:
- schema:
source_schema: 'default'
destination_catalog: 'main'
destination_schema: 'oracle_eloqua_data'
A seguinte especificação de pipeline ingere todas as tabelas compatíveis com Oracle Eloqua em um esquema de destino:
pipeline_name = "oracle_eloqua_pipeline"
connection_name = "<oracle-eloqua-connection>"
pipeline_spec = {
"name": pipeline_name,
"ingestion_definition": {
"connection_name": connection_name,
"objects": [
{
"schema": {
"source_schema": "default",
"destination_catalog": "main",
"destination_schema": "oracle_eloqua_data"
}
}
]
}
}
json_payload = json.dumps(pipeline_spec, indent=2)
create_pipeline(json_payload)
Arquivo de definição de job de Pacotes de Automação Declarativa
A seguir, um exemplo de arquivo de definição de job para usar com Pacotes de Automação Declarativa. O Job é execução diariamente.
- Declarative Automation Bundles
resources:
jobs:
oracle_eloqua_job:
name: oracle_eloqua_job
schedule:
quartz_cron_expression: '0 0 0 * * ?'
timezone_id: 'UTC'
tasks:
- task_key: oracle_eloqua_ingestion
pipeline_task:
pipeline_id: ${resources.pipelines.oracle_eloqua_pipeline.id}
Padrões comuns
Para configurações avançadas de pipeline, consulte Padrões comuns para pipelines de ingestão gerenciados.
Os passos seguintes
Comece, programar e configure alertas em seu pipeline. Consulte Tarefas comuns de manutenção de pipeline.