Crie um pipeline de ingestão de Meta Ads.
Beta
Este recurso está em versão Beta. Os administradores do espaço de trabalho podem controlar o acesso a este recurso na página de Pré-visualizações . Veja as prévias do Gerenciador Databricks.
Aprenda como criar um pipeline de ingestão gerenciado para importar dados do Meta Ads para o Databricks. Para obter uma lista dos objetos suportados, consulte Objetos suportados.
Requisitos
Para criar um pipeline de ingestão, você deve atender aos seguintes requisitos:
-
Seu workspace deve estar habilitado para o Unity Catalog.
-
compute sem servidor (serverless compute) deve estar habilitado para seu workspace. Consulte os requisitos compute sem servidor.
-
Se você planeja criar uma nova conexão: Você deve ter privilégios
CREATE CONNECTIONno metastore.Se o conector suportar a criação pipeline baseada em interface de usuário, um administrador poderá criar a conexão e o pipeline simultaneamente, concluindo os passos desta página. No entanto, se os usuários que criam pipelines utilizarem a criação pipeline baseada em API ou não forem administradores, um administrador deverá primeiro criar a conexão no Catalog Explorer. Consulte Conectar para gerenciar fontes de ingestão.
-
Se você planeja 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 privilégios
USE SCHEMAeCREATE TABLEem um esquema existente ou privilégiosCREATE SCHEMAno catálogo de destino.
Para ingerir dados do Meta Ads, você deve concluir os passos em Configurar o Meta Ads como fonte de dados.
Criar o pipeline
- Databricks Asset Bundles
- Databricks notebook
Esta tab descreve como implantar um pipeline de ingestão usando Databricks Ativo Bundles. Os pacotes podem conter definições YAML de Job e tarefa, são gerenciados usando a CLI Databricks e podem ser compartilhados e executados em diferentes espaços de trabalho de destino (como desenvolvimento, teste e produção). Para mais informações, consulte O que são pacotes Databricks ativos?.
-
Crie um novo pacote usando a CLI do Databricks:
Bashdatabricks bundle init -
Adicione dois novos arquivos de recursos ao pacote:
- Um arquivo de definição de pipeline (
resources/meta_ads_pipeline.yml). Consulte Valores a modificar e Exemplos. - Um arquivo de fluxo de trabalho que controla a frequência de ingestão de dados (
resources/meta_ads_job.yml). Consulte Arquivo de fluxo de trabalhoDatabricks ativos Bundles.
- Um arquivo de definição de pipeline (
-
Implante o pipeline usando a CLI Databricks :
Bashdatabricks bundle deploy
- Importe o seguinte Notebook para o seu workspace Databricks :
-
Deixe a célula um como está.
-
Modifique a célula dois ou três com os detalhes da configuração do seu pipeline. Consulte Valores a modificar e Exemplos.
-
Clique em Executar tudo .
Valores a serem modificados
Valor | Descrição |
|---|---|
| Um nome único para o pipeline. |
| O nome da conexão do Unity Catalog que armazena os detalhes de autenticação para Meta Ads. |
| Seu ID account Meta Ads. |
| O nome do objeto que você deseja ingerir (por exemplo, |
| O nome do catálogo no qual você deseja escrever no Databricks. |
| O nome do esquema no qual você deseja gravar no Databricks. |
| Opcional. Um nome único para a tabela na qual você deseja gravar dados no Databricks. Caso você não forneça essa informação, o conector usará automaticamente o nome da tabela de origem. |
| O método SCD a ser usado: |
Somente para ad_insights :
Ao ingerir dados de ad_insights, você deve configurar as seguintes definições adicionais em metamarketing_parameters:
Valor | Descrição |
|---|---|
| Nível de granularidade para percepções: |
| A data de início dos dados de percepções no formato |
| Opcional. Lista de dimensões de decomposição (por exemplo, |
| Opcional. Lista de dimensões de detalhamento da ação (por exemplo, |
Exemplos
Ingerir todas as tabelas atuais e futuras de uma account
- Databricks Asset Bundles
- Databricks notebook
Segue abaixo um exemplo de arquivo resources/meta_ads_pipeline.yml :
resources:
pipelines:
pipeline_meta_ads:
name: <pipeline-name>
catalog: <destination-catalog>
target: <destination-schema>
channel: PREVIEW
ingestion_definition:
connection_name: <connection-name>
objects:
- schema:
source_schema: <meta-ads-account-id>
destination_catalog: <destination-catalog>
destination_schema: <destination-schema>
table_configuration:
scd_type: SCD_TYPE_1
pipeline_spec = {
"name": "<pipeline-name>",
"channel": "PREVIEW",
"ingestion_definition": {
"connection_name": "<connection-name>",
"objects": [
{
"schema": {
"source_schema": "<meta-ads-account-id>",
"destination_catalog": "<destination-catalog>",
"destination_schema": "<destination-schema>",
"table_configuration": {
"scd_type": "SCD_TYPE_1"
}
}
}
]
}
}
json_payload = json.dumps(pipeline_spec, indent=2)
create_pipeline(json_payload)
Selecione tabelas específicas de uma account para ingestão.
- Databricks Asset Bundles
- Databricks notebook
Segue abaixo um exemplo de arquivo resources/meta_ads_pipeline.yml :
resources:
pipelines:
pipeline_meta_ads:
name: <pipeline-name>
catalog: <destination-catalog>
target: <destination-schema>
channel: PREVIEW
ingestion_definition:
connection_name: <connection-name>
objects:
- table:
source_schema: <meta-ads-account-id>
source_table: campaigns
destination_catalog: <destination-catalog>
destination_schema: <destination-schema>
table_configuration:
scd_type: SCD_TYPE_1
- table:
source_schema: <meta-ads-account-id>
source_table: ads
destination_catalog: <destination-catalog>
destination_schema: <destination-schema>
table_configuration:
scd_type: SCD_TYPE_1
pipeline_spec = {
"name": "<pipeline-name>",
"channel": "PREVIEW",
"ingestion_definition": {
"connection_name": "<connection-name>",
"objects": [
{
"table": {
"source_schema": "<meta-ads-account-id>",
"source_table": "campaigns",
"destination_catalog": "<destination-catalog>",
"destination_schema": "<destination-schema>",
"table_configuration": {
"scd_type": "SCD_TYPE_1"
}
}
},
{
"table": {
"source_schema": "<meta-ads-account-id>",
"source_table": "ads",
"destination_catalog": "<destination-catalog>",
"destination_schema": "<destination-schema>",
"table_configuration": {
"scd_type": "SCD_TYPE_1"
}
}
}
]
}
}
json_payload = json.dumps(pipeline_spec, indent=2)
create_pipeline(json_payload)
Ingerir ad_insights com metamarketing_parameters
- Databricks Asset Bundles
- Databricks notebook
Segue abaixo um exemplo de arquivo resources/meta_ads_pipeline.yml :
resources:
pipelines:
pipeline_meta_ads:
name: <pipeline-name>
catalog: <destination-catalog>
target: <destination-schema>
channel: PREVIEW
ingestion_definition:
connection_name: <connection-name>
objects:
- table:
source_schema: <meta-ads-account-id>
source_table: ad_insights
destination_catalog: <destination-catalog>
destination_schema: <destination-schema>
table_configuration:
scd_type: SCD_TYPE_1
metamarketing_parameters:
level: ad
start_date: '2024-01-01'
breakdowns:
- age
- gender
action_breakdowns:
- action_type
pipeline_spec = {
"name": "<pipeline-name>",
"channel": "PREVIEW",
"ingestion_definition": {
"connection_name": "<connection-name>",
"objects": [
{
"table": {
"source_schema": "<meta-ads-account-id>",
"source_table": "ad_insights",
"destination_catalog": "<destination-catalog>",
"destination_schema": "<destination-schema>",
"table_configuration": {
"scd_type": "SCD_TYPE_1",
"metamarketing_parameters": {
"level": "ad",
"start_date": "2024-01-01",
"breakdowns": ["age", "gender"],
"action_breakdowns": ["action_type"]
}
}
}
}
]
}
}
json_payload = json.dumps(pipeline_spec, indent=2)
create_pipeline(json_payload)
Databricks ativo Bundles arquivo de fluxo de trabalho
Segue abaixo um exemplo de arquivo resources/meta_ads_job.yml :
resources:
jobs:
meta_ads_dab_job:
name: meta_ads_dab_job
trigger:
# Run this job every day, exactly one day from the last run
# See https://docs.databricks.com/api/workspace/jobs/create#trigger
periodic:
interval: 1
unit: DAYS
email_notifications:
on_failure:
- <email-address>
tasks:
- task_key: refresh_pipeline
pipeline_task:
pipeline_id: <pipeline-id>
Padrões comuns
Para configurações avançadas pipeline , consulte Padrões comuns para gerenciar pipeline de ingestão.