Modèle d’ingestion de données du Snowflake Connector for Google Analytics Raw Data

Snowflake Connector for Google Analytics Raw Data est soumis aux Conditions de connecteur.

Ce chapitre fournit des informations sur les modèles d’ingestion de données pris en charge par le Snowflake Connector for Google Analytics Raw Data.

Exportation de Google Analytics vers BigQuery

Google Analytics prend en charge trois types d’exportations BigQuery :
  • Daily : Google Analytics exporte les données vers des tables nommées selon le format events_XXXXXX. Les tables sont créées une fois par jour, après la fin de la journée, lorsque tous les événements de la journée sont rassemblés.

  • Fresh Daily : Google Analytics exporte les données vers des tables nommées selon le format events_fresh_XXXXXX. Les tables sont créées et actualisées en fonction de la planification, avec une fréquence maximale d’une fois par heure. Cette fonction n’est disponible que pour les clients de Google Analytics 360.

  • Streaming : Google Analytics exporte les données en continu tout au long de la journée et les stocke dans une table nommée selon le format events_intraday_XXXXXX.

  • Utilisateurs : Exportation Google Analytics contenant des données utilisateur associées aux événements collectés. Les tables sont stockées dans BigQuery et nommées selon les formats users_XXXXXX et pseudonymous_users_XXXXXX.

Le connecteur prend en charge ces trois types d’exportations et télécharge automatiquement toutes les tables qu’il trouve dans BigQuery, sans nécessiter de configuration supplémentaire.

Tables réceptrices

Pour chaque propriété, le connecteur enregistre les événements dans des tables propres à la propriété, qui sont créées dans une base de données et un schéma fournis lors de la configuration du connecteur.

Pour chacune des propriétés, il peut y avoir jusqu’à quatre tables réceptrices créées, en fonction des types d’exportation activés. Les tables sont nommées comme suit :

  • ANALYTICS_<propertyId>

  • ANALYTICS_INTRADAY_<propertyId>

  • USERS_<propertyId>

  • PSEUDONYMOUS_USERS_<propertyId>

Ingestion de table quotidienne

Le connecteur télécharge l’ensemble de la table en une seule fois lorsqu’il détecte que la table est présente dans BigQuery. Google met en garde sur le fait que les tables quotidiennes peuvent être mises à jour jusqu’à 72 heures après la création de la table. Pour garantir la cohérence des données, le connecteur recharge les tables au bout de 72 heures (notez que l’heure de rechargement exacte dépend de la planification d’ingestion du connecteur). Les mises à jour dans BigQuery effectuées 72 heures après la création de la table ne seront pas reflétées dans Snowflake. Ces tables peuvent être rechargées manuellement, via l’une des procédures RELOAD_PROPERTY.

Ingestion de la table Fresh Daily

Après chaque ingestion réussie du connecteur, des rechargements sont créés en continu pour recharger la table pendant une durée maximale de 96 heures (24 heures le jour de la création de la table et 72 heures lorsque des mises à jour de données peuvent avoir lieu). Les rechargements suivront chaque cycle d’ingestion réussi, déclenché après chaque cycle de distribution, avec une fréquence maximale d’une fois par heure. La date du dernier rechargement est calculée en fonction du nom de la table et de la période de 96 heures allouée.

Si une nouvelle ingestion quotidienne doit être rattrapée, par exemple en raison d’une pause du connecteur, le connecteur ingérera toutes les tables de manière séquentielle. Les recharges ne seront pas créées si elles ne sont pas nécessaires, c’est-à-dire si plus de 96 heures se sont écoulées depuis la création de la table.

Cette fonction n’est disponible que pour les clients de Google Analytics 360. Les exportations quotidiennes actualisées peuvent être activées manuellement à l’aide des procédures ENABLE_PROPERTIES ou UPDATE_INGESTION_OPTIONS.

Ingestion intrajournalière

Le connecteur prend en charge le téléchargement des tables intrajournalières historiques (si elles sont présentes dans BigQuery) et l’ingestion en continu des tables intrajournalières qui continuent à recevoir des mises à jour.

Pour les jours passés, le connecteur télécharge les tables intrajournalières de la même manière que les tables quotidiennes : chaque table est téléchargée en entier, une table à la fois, jusqu’à ce que le processus atteigne les données de la journée en cours.

Lorsque le connecteur détecte qu’une table intrajournalière est la dernière dans BigQuery, il commence à traiter la table de manière incrémentielle. Cela signifie qu’il télécharge les lots de données entrants de la table tout au long de la journée, à un intervalle constant, qui est de 8 heures par défaut.

Lorsque l’une des conditions suivantes est remplie :

  • Une table du lendemain est apparue dans l’ensemble de données BigQuery

  • 24 heures se sont écoulées depuis le premier chargement de la table en question

Le connecteur effectue une dernière ingestion pour la table intrajournalière en question et passe à la suivante.

Note

Il se peut qu’un petit nombre d’événements ne soient pas ingérés si les événements sont retardés de plus de 10 minutes. Immédiatement à la fin du chargement incrémentiel d’une table intrajournalière, le connecteur vérifie s’il existe des événements perdus et, si c’est le cas, planifie un rechargement de la table pour garantir la cohérence des données entre Snowflake et BigQuery.

Ingestion de tables de données utilisateur

L’ingestion de tables de données utilisateur est basée sur le même mécanisme que l’ingestion de tables quotidienne.

Planification

Le connecteur vérifie s’il existe de nouvelles tables dans BigQuery, puis planifie leur ingestion (ou leur ingestion partielle en cas d’ingestions intrajournalières incrémentielles) dans Snowflake lorsque :

  • La tâche est déclenchée en fonction d’une planification configurée
    • Par défaut, cette opération est effectuée toutes les 8 heures

    • En utilisant CONFIGURE_INGESTION_INTERVAL, vous pouvez modifier la valeur d’intervalle par défaut si vous avez besoin de mises à jour plus/moins fréquentes.

  • Le connecteur a terminé l’ingestion de la dernière table planifiée
    • Par conséquent, cela signifie que les planifications sont plus fréquentes que ce que prévoit la configuration, puisqu’il doit y avoir au moins une ingestion par jour, ce qui signifie au moins un contrôle supplémentaire.

    • En particulier, lorsqu’un chargement initiale est en cours et qu’il existe un grand nombre de tables à ingérer, après l’ingestion de chacune des tables, le mécanisme de planification est déclenché.