Ingerir dados do Adobe Marketo Engage
Beta
Esse recurso está em Beta. Os administradores do workspace podem controlar o acesso a esse recurso na página Pré-visualizações . Consulte Gerenciar prévias do Databricks.
Crie um pipeline de ingestão gerenciado do Marketo no Lakeflow Connect para ingerir dados do Adobe Marketo Engage.
Requisitos
-
Para criar um pipeline de ingestão, você deve primeiro atender aos 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 oferecer suporte à 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á primeiro criar a conexão no Catalog 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 privilégiosCREATE SCHEMAno catálogo de destino.
-
-
Para realizar a ingestão do Marketo, primeiro você deve configurar a autenticação a partir do Databricks. Consulte Configurar autenticação para o Adobe Marketo Engage.
Criar um pipeline de ingestão
- Databricks UI
- Declarative Automation Bundles
- Na barra lateral do workspace do Databricks, clique em
Ingestão de dados .
- Na página Add data , em Databricks connectors , clique em Marketo .
- Na página Connection do assistente de ingestão, selecione a conexão que armazena suas credenciais de acesso do Marketo. Se você tiver o privilégio
CREATE CONNECTIONno metastore, poderá clicar emCreate connection para criar uma nova conexão com os detalhes de autenticação em Create a Marketo connection.
- Clique em Avançar .
- Na página Ingestion setup , insira um nome único 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, poderá clicar emCreate schema no menu suspenso para criar um novo esquema.
- Clique em Criar pipeline e continuar .
- Na página Origem , selecione as tabelas para ingestão.
- Clique em Salvar e continuar .
- 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, poderá clicar emCreate schema no menu suspenso para criar um novo esquema.
- Clique em Salvar e continuar .
- (Opcional) Na página Cronogramas e notificações , clique em
Crie um agendamento . Defina a frequência para refresh das 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 Marketo 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 pacote 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/marketo_pipeline.yml). Consulte 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/marketo_job.yml).
- Um arquivo de definição de pipeline (por exemplo,
-
Implante o pipeline usando a CLI do Databricks:
Bashdatabricks bundle deploy
Exemplos
Use estes exemplos para configurar seu pipeline. Para obter uma lista completa de tabelas suportadas, consulte Tabelas de origem suportadas.
Ingerir tabelas específicas
O exemplo a seguir ingere a tabela leads e duas tabelas de atividade. Para tabelas de atividade, o nome da tabela de origem é activity_<typeId>, onde <typeId> é o ID numérico do tipo de atividade do Adobe Marketo Engage.
- Declarative Automation Bundles
- Databricks notebook
resources:
pipelines:
marketo_pipeline:
name: marketo_pipeline
catalog: 'main'
target: 'marketo_data'
ingestion_definition:
connection_name: marketo_connection
objects:
- table:
source_schema: 'default'
source_table: 'leads'
destination_catalog: 'main'
destination_schema: 'marketo_data'
destination_table: 'leads'
- table:
source_schema: 'default'
source_table: 'activity_1'
destination_catalog: 'main'
destination_schema: 'marketo_data'
destination_table: 'activity_1'
pipeline_name = "marketo_pipeline"
connection_name = "<marketo-connection>"
pipeline_spec = {
"name": pipeline_name,
"ingestion_definition": {
"connection_name": connection_name,
"objects": [
{
"table": {
"source_schema": "default",
"source_table": "leads",
"destination_catalog": "main",
"destination_schema": "marketo_data",
"destination_table": "leads"
}
},
{
"table": {
"source_schema": "default",
"source_table": "activity_1",
"destination_catalog": "main",
"destination_schema": "marketo_data",
"destination_table": "activity_1"
}
}
]
}
}
json_payload = json.dumps(pipeline_spec, indent=2)
create_pipeline(json_payload)
Defina a data de início da sincronização inicial
Por default, o conector ingere dois anos de data histórica. Para alterar a janela de preenchimento retroativo, defina a opção sync_start_date no formato YYYY-MM-DD. O conector então ingere dados a partir dessa data.
sync_start_date aplica-se apenas ao preenchimento retroativo inicial. Após uma tabela concluir sua primeira sincronização, alterar o valor não terá efeito nessa tabela, a menos que você execute um refresh completo.
- Declarative Automation Bundles
- Databricks notebook
resources:
pipelines:
marketo_pipeline:
name: marketo_pipeline
catalog: 'main'
target: 'marketo_data'
ingestion_definition:
connection_name: marketo_connection
objects:
- table:
source_schema: 'default'
source_table: 'leads'
destination_catalog: 'main'
destination_schema: 'marketo_data'
destination_table: 'leads'
connector_options:
marketo_options:
sync_start_date: '2024-01-01'
pipeline_name = "marketo_pipeline"
connection_name = "<marketo-connection>"
pipeline_spec = {
"name": pipeline_name,
"ingestion_definition": {
"connection_name": connection_name,
"objects": [
{
"table": {
"source_schema": "default",
"source_table": "leads",
"destination_catalog": "main",
"destination_schema": "marketo_data",
"destination_table": "leads",
"connector_options": {
"marketo_options": {
"sync_start_date": "2024-01-01"
}
}
}
}
]
}
}
json_payload = json.dumps(pipeline_spec, indent=2)
create_pipeline(json_payload)
Arquivo de definição de job dos Pacotes de Automação Declarativa
- Declarative Automation Bundles
resources:
jobs:
marketo_job:
name: marketo_job
schedule:
quartz_cron_expression: '0 0 0 * * ?'
timezone_id: 'UTC'
tasks:
- task_key: marketo_ingestion
pipeline_task:
pipeline_id: ${resources.pipelines.marketo_pipeline.id}
Padrões comuns
Para configurações avançadas de pipeline, consulte Padrões comuns para pipelines de ingestão gerenciados.
Passos seguintes
Comece, programe e configure alertas para seu pipeline. Consulte Tarefas comuns de manutenção de pipeline.