Ingerir dados do Adobe Marketo Engage
Beta
Esse recurso está em Beta.
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.