Aller au contenu principal

Ingérer des données de Google Ads

info

Bêta

Cette fonctionnalité est en Bêta. Les administrateurs du Workspace peuvent contrôler l'accès à cette fonctionnalité à partir de la page Previews . Consultez Gérer les aperçus Databricks.

Découvrez comment créer un pipeline d'ingestion géré pour ingérer des données de Google Ads dans Databricks.

Exigences

  • Pour créer un pipeline d'ingestion, vous devez remplir les conditions suivantes :

    • Votre workspace doit être activé pour Unity Catalog.

    • Le compute Serverless doit être activé pour votre Workspace. Consultez les exigences du compute Serverless.

    • Pour créer une nouvelle connexion, vous devez disposer des privilèges CREATE CONNECTION sur le métastore. Voir Gérer les privilèges dans Unity Catalog.

      Si le connecteur prend en charge la création de pipelines basée sur l'interface utilisateur, un administrateur peut créer la connexion et le pipeline en même temps en suivant les étapes décrites sur cette page. Cependant, si les utilisateurs qui créent des pipelines utilisent la création de pipelines basée sur l'API ou ne sont pas des utilisateurs administrateurs, un administrateur doit d'abord créer la connexion dans l'Explorateur de catalogues. Voir Connexion aux sources d'ingestion gérées.

    • Pour utiliser une connexion existante, vous devez avoir les privilèges USE CONNECTION ou ALL PRIVILEGES sur l'objet de connexion.

    • Vous devez disposer de privilèges USE CATALOG sur le catalogue cible.

    • Vous devez disposer des privilèges USE SCHEMA et CREATE TABLE sur un schéma existant ou des privilèges CREATE SCHEMA sur le catalogue cible.

  • Pour ingérer depuis Google Ads, vous devez suivre les étapes de Créer une connexion Google Ads.

Créez un pipeline d'ingestion

Cet tab décrit comment déployer un pipeline d'ingestion à l'aide des Declarative Automation Bundles. Les bundles peuvent contenir des définitions YAML de jobs et de tâches, sont gérés à l’aide de la Databricks CLI, et peuvent être partagés et exécutés dans différents Workspace cibles (comme le développement, la pré-production et la production). Pour plus d'informations, consultez What are Declarative Automation Bundles?.

  1. Créez un bundle à l'aide de la CLI Databricks :

    Bash
    databricks bundle init
  2. Ajoutez deux nouveaux fichiers de ressources au bundle :

    • Un fichier de définition de pipeline (par exemple, resources/google_ads_pipeline.yml).
    • Un fichier de définition de Job qui contrôle la fréquence d'ingestion de données (par exemple, resources/google_ads_job.yml).

    Voir pipeline.ingestion_definition et Exemples.

  3. Déployez le pipeline à l'aide de la CLI Databricks :

    Bash
    databricks bundle deploy

Exemples

L’option manager_account_id n’est pas prise en charge dans les Declarative Automation Bundles. Pour configurer un ID de compte de gestionnaire, utilisez plutôt un Notebook Databricks.

Le fichier de définition de pipeline suivant ingère toutes les tables actuelles et futures depuis un compte :

YAML
resources:
pipelines:
pipeline_google_ads:
name: <pipeline-name>
catalog: <destination-catalog>
target: <destination-schema>
ingestion_definition:
connection_name: <connection-name>
objects:
- schema:
source_schema: <account-id>
destination_catalog: <destination-catalog>
destination_schema: <destination-schema>
connector_options:
google_ads_options:
lookback_window_days: <lookback-window-days>
sync_start_date: <sync-start-date>

Le fichier de définition de pipeline suivant sélectionne des tables spécifiques d'un compte à ingérer :

YAML
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>
connector_options:
google_ads_options:
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>
connector_options:
google_ads_options:
lookback_window_days: <lookback-window-days>
sync_start_date: <sync-start-date>

Voici un exemple de fichier de définition de Job :

YAML
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: ${resources.pipelines.pipeline_google_ads.id}

Fichier de définition de job Declarative Automation Bundles

Voici un exemple de fichier de définition de job à utiliser avec les Declarative Automation Bundles. Le job s'exécute tous les jours, exactement un jour après la dernière exécution.

YAML
resources:
jobs:
google_ads_dab_job:
name: google_ads_dab_job

trigger:
periodic:
interval: 1
unit: DAYS

email_notifications:
on_failure:
- <email-address>

tasks:
- task_key: refresh_pipeline
pipeline_task:
pipeline_id: ${resources.pipelines.pipeline_google_ads.id}

Rapports personnalisés

En plus des tables prédéfinies, vous pouvez définir des tables de rapport personnalisées. Un rapport personnalisé vous permet de choisir une Ressource Google Ads et n'importe quelle combinaison de champs de Ressource, de segments et de métriques. Le connecteur synthétise la Google Ads Query Language (GAQL) query équivalente, la valide par rapport à Google Ads au moment de la planification du pipeline et ingère le résultat dans une table de destination que vous nommez.

Un rapport personnalisé est déclaré sur un objet de type table dont le source_table est défini sur custom_report, la définition du rapport étant fournie sous connector_options.google_ads_options.custom_report_options.

Exemple : un rapport ad_group_ad personnalisé

JSON
{
"table": {
"source_schema": "<customer-account-id>",
"source_table": "custom_report",
"destination_catalog": "<destination-catalog>",
"destination_schema": "<destination-schema>",
"destination_table": "my_ad_group_ad_report",
"connector_options": {
"google_ads_options": {
"manager_account_id": "<google-ads-manager-account-id>",
"sync_start_date": "2024-01-01",
"lookback_window_days": 30,
"custom_report_options": {
"resource": "ad_group_ad",
"resource_fields": ["ad_group_ad.ad.id", "ad_group_ad.status"],
"segments": ["segments.date", "segments.device"],
"metrics": ["metrics.impressions", "metrics.clicks", "metrics.cost_micros", "metrics.conversions"]
}
}
}
}
}

destination_table est requis lorsque source_table est custom_report.

Pour les options de configuration des rapports personnalisés, consultez Options de configuration des rapports personnalisés.

Modèles courants

Pour les configurations de pipeline avancées, consultez Modèles courants pour les pipelines d'ingestion gérés.

Étapes suivantes

start, planifiez et configurez des alertes sur votre pipeline. Consultez les Tâches de maintenance courantes du pipeline.

Ressources supplémentaires