Aller au contenu principal

Ingérer des données agrégées à partir de Google analytique

info

Bêta

Cette fonctionnalité est en version Bêta. Pour l’utiliser, un administrateur de Workspace doit activer Lakeflow Connect for Google analytique Aggregated depuis la page Prévisualisations . Consultez Gérer les aperçus Databricks.

Créez un pipeline Lakeflow Connect géré qui ingère les données de rapport Google Analytics 4 (GA4) agrégées dans des tables Unity Catalog. Utilisez des Declarative Automation Bundles ou un notebook Databricks.

Prérequis​

  • Pour créer un pipeline d’ingestion, répondez d’abord aux exigences suivantes :

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

    • Le compute serverless doit être activé pour votre workspace. Voir 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 pipeline 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. Toutefois, si les utilisateurs qui créent des pipelines utilisent la création de pipeline basée sur une API ou sont des utilisateurs non administrateurs, un administrateur doit d'abord créer la connexion dans Catalog Explorer. Voir Connexion à des sources d'ingestion gérées.

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

    • Vous devez avoir les 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 des données à partir de Google analytique, configurez d’abord l’authentification auprès de Databricks et créez une connexion. Voir Configurer l’authentification auprès de Google analytique et Créer une connexion agrégée Google analytique.

Options de connecteur​

Pour les options acceptées par le connecteur Google analytique Aggregated, leur portée et les tables auxquelles elles s'appliquent, voir Options du connecteur. Définissez les options de portée du pipeline dans source_configurations et les options de portée de la table sur l'objet individuel. Voir Exemples pour l'utilisation.

Créer un pipeline d’ingestion​

Pour obtenir la liste des tables sources prises en charge, consultez Tables sources prises en charge.

Utilisez les Declarative Automation Bundles pour gérer les pipelines Google analytique Aggregated en tant que code. Les bundles peuvent contenir des définitions YAML de Jobs et de tâches, sont gérés à l'aide de la CLI Databricks et peuvent être partagés et exécutés dans différents Workspace cibles (tels que le développement, la pré-production et la production). Consultez Que sont les Declarative Automation Bundles ?.

  1. Créer un bundle à l’aide de la CLI Databricks :

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

    • Fichier de définition de pipeline (par exemple, resources/google_analytics_aggregated_pipeline.yml). Voir pipeline.ingestion_definition et exemples.
    • Un fichier de définition de job qui contrôle la fréquence d’ingestion des données (par exemple, resources/google_analytics_aggregated_job.yml).
  3. Déployez le pipeline à l’aide de la CLI Databricks :

    Bash
    databricks bundle deploy

Exemples​

Le connecteur Google analytique Aggregated rend ses tables sources disponibles dans le schéma source default. Pour obtenir la liste des tables, consultez les tables sources prises en charge.

Pour plus de détails sur le schéma, voir Schémas des tables de destination.

Ingérer une table de rapport préconçue​

L'exemple suivant ingère la table traffic_acquisition_session_source_medium_report pour deux propriétés GA4.

YAML
resources:
pipelines:
google_analytics_aggregated_pipeline:
name: google_analytics_aggregated_pipeline
catalog: 'main'
target: 'google_analytics_aggregated_data'
ingestion_definition:
connection_name: google_analytics_aggregated_connection
source_configurations:
- api_source_connector_config:
configs:
start_date: '<start-date>'
objects:
- table:
source_schema: 'default'
source_table: 'traffic_acquisition_session_source_medium_report'
destination_catalog: 'main'
destination_schema: 'google_analytics_aggregated_data'
destination_table: 'traffic_acquisition_session_source_medium_report'
connector_options:
api_source_connector_options:
options:
property_ids: '["<property-id-1>", "<property-id-2>"]'
lookback_window_in_days: '<lookback-days>'

Ingérer un rapport personnalisé​

L’exemple suivant ingère un rapport personnalisé qui agrège les sessions et les utilisateurs par pays et par catégorie d’appareil pour chaque semaine GA4. Pour ingérer plus d'un rapport personnalisé dans le même pipeline, ajoutez un objet custom_report pour chaque rapport, chacun avec un destination_table différent. Pour les options, voir Rapports personnalisés.

YAML
resources:
pipelines:
google_analytics_aggregated_pipeline:
name: google_analytics_aggregated_pipeline
catalog: 'main'
target: 'google_analytics_aggregated_data'
ingestion_definition:
connection_name: google_analytics_aggregated_connection
source_configurations:
- api_source_connector_config:
configs:
start_date: '<start-date>'
objects:
- table:
source_schema: 'default'
source_table: 'custom_report'
destination_catalog: 'main'
destination_schema: 'google_analytics_aggregated_data'
destination_table: 'weekly_sessions_by_country_and_device'
connector_options:
api_source_connector_options:
options:
property_id: '<property-id>'
dimensions: '["country", "deviceCategory"]'
metrics: '["sessions", "totalUsers"]'
cursor_dimension: 'yearWeek'

Ingérer simultanément des tables de rapports prédéfinies et personnalisées​

L'exemple suivant combine une table de rapport prédéfinie et un rapport personnalisé mensuel dans un seul pipeline. Chaque objet ne définit que les options de connecteur acceptées par sa table.

YAML
resources:
pipelines:
google_analytics_aggregated_pipeline:
name: google_analytics_aggregated_pipeline
catalog: 'main'
target: 'google_analytics_aggregated_data'
ingestion_definition:
connection_name: google_analytics_aggregated_connection
source_configurations:
- api_source_connector_config:
configs:
start_date: '<start-date>'
objects:
- table:
source_schema: 'default'
source_table: 'website_overview'
destination_catalog: 'main'
destination_schema: 'google_analytics_aggregated_data'
destination_table: 'website_overview'
connector_options:
api_source_connector_options:
options:
property_ids: '["<property-id>"]'
- table:
source_schema: 'default'
source_table: 'custom_report'
destination_catalog: 'main'
destination_schema: 'google_analytics_aggregated_data'
destination_table: 'monthly_revenue_by_channel'
connector_options:
api_source_connector_options:
options:
property_id: '<property-id>'
dimensions: '["sessionDefaultChannelGroup"]'
metrics: '["totalRevenue", "transactions"]'
cursor_dimension: 'yearMonth'

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 quotidiennement.

YAML
resources:
jobs:
google_analytics_aggregated_job:
name: google_analytics_aggregated_job
schedule:
quartz_cron_expression: '0 0 0 * * ?'
timezone_id: 'UTC'
tasks:
- task_key: google_analytics_aggregated_ingestion
pipeline_task:
pipeline_id: ${resources.pipelines.google_analytics_aggregated_pipeline.id}

Modèles courants​

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

Étapes suivantes​

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

Ressources supplémentaires​