Crie um pipeline de ingestão do Google 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 Google Ads para o Databricks.
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 importar dados do Google Ads, você deve concluir as etapas descritas em Configurar OAuth para importação de dados do Google Ads.
Crie um pipeline de ingestão.
- 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/google_ads_pipeline.yml). - Um arquivo de fluxo de trabalho que controla a frequência de ingestão de dados (
resources/google_ads_job.yml).
Consulte Valores a serem modificados e definição de pipeline padrão.
- 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, dependendo do seu caso de uso. Consulte a seção "Valores a serem modificados".
-
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 do Google Ads. |
| O nome da account que contém os dados que você deseja importar. Não inclua hífens ao inserir IDs de conta na especificação do seu pipeline . |
| O nome da tabela que você deseja importar. |
| 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. |
| Um pipeline corresponde a, no máximo, um ID de conta do Google Ads Manager. Se o seu ID de conta de Gerente estiver mapeado para vários IDs de conta de Cliente, você poderá ingerir dados desses diferentes IDs de conta de Cliente no mesmo pipeline. Não inclua hífens ao inserir IDs de conta na especificação do seu pipeline . |
| Opcional (default: 30 dias). Isso determina o número de dias anteriores a serem verificados durante cada atualização do pipeline para capturar conversões tardias e atualizações de atribuição. Ao definir esse valor, leve em consideração o período de atribuição de conversão da sua organização. |
| Opcional (default: dois anos). Isso especifica a data inicial de synccome para tabelas de relatório no formato |
definição de dutos
- YAML
- JSON
Esta tab fornece o padrão para uso com pacotes ativos Databricks .
Segue abaixo um exemplo de arquivo resources/google_ads_pipeline.yml que ingere todas as tabelas atuais e futuras de uma account:
resources:
pipelines:
pipeline_google_ads:
name: <pipeline>
catalog: <destination-catalog>
target: <destination-schema>
ingestion_definition:
connection_name: <connection>
objects:
- schema:
source_schema: <account-id>
destination_catalog: <destination-catalog>
destination_schema: <destination-schema>
google_ads_options:
manager_account_id: <manager-account-id>
lookback_window_days: <lookback-window-days>
sync_start_date: <sync-start-date>
Segue abaixo um exemplo de arquivo resources/google_ads_pipeline.yml que seleciona tabelas específicas de uma account para ingestão:
resources:
pipelines:
pipeline_google_ads:
name: <pipeline-name>
catalog: <destination-catalog>
target: <destination-schema>
ingestion_definition:
connection_name: <connection-name>
objects:
- table:
source_schema: <customer-account-id>
source_table: <table1>
destination_catalog: <destination-catalog>
destination_schema: <destination-schema>
destination_table: <destination-table>
google_ads_options:
manager_account_id: <manager-account-id>
lookback_window_days: <lookback-window-days>
sync_start_date: <sync-start-date>
- table:
source_schema: <customer-account-id>
source_table: table2
destination_catalog: <destination-catalog>
destination_schema: <destination-schema>
destination_table: <destination-table>
google_ads_options:
manager_account_id: <manager-account-id>
lookback_window_days: <lookback-window-days>
sync_start_date: <sync-start-date>
Segue abaixo um exemplo de arquivo resources/google_ads_job.yml :
resources:
jobs:
google_ads_dab_job:
name: google_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>
Esta tab fornece padrões de definição pipeline para uso com Databricks Notebook.
O exemplo a seguir ingere todas as tabelas atuais e futuras de uma única account:
pipeline_spec = {
"name": <pipeline>,
"ingestion_definition": {
"connection_name": <connection>,
"objects": [
{
"schema": {
"source_schema": "<account-id>",
"destination_catalog": "<destination-catalog>",
"destination_schema": "<destination-schema>",
"google_ads_options": {
"manager_account_id": "<manager-account-id>",
"lookback_window_days": <lookback-window-days>,
"sync_start_date": "<sync-start-date>"
}
}
}
]
}
}
json_payload = json.dumps(pipeline_spec, indent=2)
create_pipeline(json_payload)
O exemplo a seguir seleciona tabelas específicas de uma account para ingestão:
pipeline_spec = {
"name": <pipeline>,
"ingestion_definition": {
"connection_name": <connection>,
"objects": [
{
"table": {
"source_schema": "<customer-account-id>",
"source_table": "<table1>",
"destination_catalog": "<destination-catalog>",
"destination_schema": "<destination-schema>",
"destination_table": "<destination-table>",
"google_ads_options": {
"manager_account_id": "<manager-account-id>",
"lookback_window_days": <lookback-window-days>,
"sync_start_date": "<sync-start-date>"
}
}
},
{
"table": {
"source_schema": "<customer-account-id>",
"source_table": "table2",
"destination_catalog": "<destination-catalog>",
"destination_schema": "<destination-schema>",
"destination_table": "<destination-table>",
"google_ads_options": {
"manager_account_id": "<manager-account-id>",
"lookback_window_days": <lookback-window-days>,
"sync_start_date": "<sync-start-date>"
}
}
}
]
}
}
json_payload = json.dumps(pipeline_spec, indent=2)
create_pipeline(json_payload)
Padrões comuns
Para configurações avançadas pipeline , consulte Padrões comuns para gerenciar pipeline de ingestão.