Datenaufnahmemodell des Snowflake Connector for Google Analytics Raw Data

Der Snowflake Connector für Google Analytics Raw Data unterliegt den Nutzungsbedingungen für Konnektoren.

Unter diesem Thema finden Sie Informationen zu den vom Snowflake Connector for Google Analytics Raw Data unterstützten Datenaufnahmemodellen.

Export von Google Analytics nach BigQuery

Google Analytics unterstützt zwei Typen von BigQuery-Exporten:
  • Täglich – Google Analytics exportiert Daten in Tabellen namens events_XXXXXX. Die Tabellen werden einmal täglich, nach Ende des Tages, erstellt, sobald alle Ereignisse des jeweiligen Tages erfasst sind.

  • Streaming – Google Analytics exportiert den ganzen Tag über kontinuierlich Daten und speichert sie in einer Tabelle namens events_intraday_XXXXXX.

  • Benutzer – Google Analytics-Export mit Benutzerdaten zu den gesammelten Ereignissen. Die Tabellen werden in BigQuery unter den Namen users_XXXXXX und pseudonymous_users_XXXXXX gespeichert.

Der Konnektor unterstützt beide Exporttypen und lädt automatisch alle Tabellen herunter, die er in BigQuery findet, unabhängig davon, ob es sich um tägliche oder Intraday-Tabellen handelt. Eine zusätzliche Konfiguration ist nicht erforderlich.

Senkentabelle

Für jede Eigenschaft speichert der Konnektor die Ereignisse in eigenschaftsspezifischen Tabellen, die in einer Datenbank und einem Schema erstellt werden, das bei der Konfiguration des Konnektors angegeben wird. Für jede der Eigenschaften werden vier Tabellen erstellt: eine für den täglichen Export, eine für den Intraday-Export und zwei für die Exporte der Benutzerdaten, die jeweils ANALYTICS_XXXXXXXXX, ANALYTICS_INTRADAY_XXXXXXXXX, USERS_XXXXXXXXX und PSEUDONYMOUS_USERS_XXXXXXXXX heißen. Der Konnektor wird immer versuchen, alle verfügbaren Tabellen in BigQuery aufzunehmen, unabhängig von der spezifischen Konfiguration des Google Analytics-Exports.

Aufnahme der Tagestabelle

Wenn der Konnektor erkennt, dass die Tagestabelle in BigQuery vorhanden ist, lädt er die gesamte Tabelle in einem einzigen Ausführungslauf herunter. Google weist darauf hin, dass die Tagestabellen bis zu 72 Stunden nach dem Erstellen aktualisiert werden können. Um die Datenkonsistenz zu gewährleisten, lädt der Konnektor die Tabellen nach 72 Stunden neu. (Beachten Sie, dass der genaue Zeitpunkt des Neuladens vom Zeitplan des Konnektors abhängt). Aktualisierungen in BigQuery, die nach Ablauf von 72 Stunden seit der Erstellung der Tabelle vorgenommen werden, werden in Snowflake nicht mehr berücksichtigt. Solche Tabellen können manuell mit einer der Prozeduren RELOAD_PROPERTY neu geladen werden.

Intraday-Aufnahme

Der Konnektor unterstützt das Herunterladen von historischen Intraday-Tabellen (wenn sie in BigQuery vorhanden sind) und die laufende Datenaufnahme von Intraday-Tabellen, die noch Aktualisierungen erhalten.

Für die vergangenen Tage lädt der Konnektor die Intraday-Tabellen auf die gleiche Weise herunter wie die Tagestabellen: Jede Tabelle wird komplett heruntergeladen, eine Tabelle nach der anderen, bis der Prozess die Daten des aktuellen Tages erreicht.

Wenn der Konnektor erkennt, dass eine Intraday-Tabelle die letzte in BigQuery ist, beginnt er mit der schrittweisen Verarbeitung der Tabelle. Das bedeutet, dass die eingehenden Daten-Batches den ganzen Tag über in einem konstanten Intervall, das standardmäßig 8 Stunden beträgt, aus der Tabelle heruntergeladen werden.

Die Situation ändert sich, wenn eine der folgenden Bedingungen erfüllt ist:

  • Im BigQuery-Datenset ist eine Tabelle vom nächsten Tag erschienen.

  • Seit dem ersten Laden der angegebenen Tabelle sind 24 Stunden vergangen.

Nun führt der Konnektor eine abschließende Datenaufnahme der angegebenen Intraday-Tabelle durch und wechselt zur nächsten Tabelle.

Bemerkung

Eine kleine Anzahl von Ereignissen wird möglicherweise nicht aufgenommen, wenn die Ereignisse um mehr als 10 Minuten verzögert werden. Unmittelbar nach Abschluss des inkrementellen Ladens einer Intraday-Tabelle überprüft der Konnektor, ob Ereignisse verloren gegangen sind, und plant in diesem Fall ein Neuladen der Tabelle, um die Datenkonsistenz zwischen Snowflake und BigQuery sicherzustellen.

Aufnahme von Benutzerdaten in Tabellen

Die Aufnahme von Benutzerdaten-Tabellen basiert auf demselben Mechanismus wie die Aufnahme von Tagestabellen.

Zeitplan

Der Konnektor prüft, ob neue Tabellen in BigQuery vorhanden sind und plant dann Aufnahmen dieser Tabellen (oder ihrer Teile im Falle von inkrementellen Aufnahmen) in Snowflake, wenn:

  • Aufgabe wird gemäß dem konfigurierten Zeitplan ausgelöst
    • Standardmäßig ist dies alle 8 Stunden der Fall

    • Mit CONFIGURE_INGESTION_INTERVAL können Sie den Standardwert für das Intervall ändern, wenn Sie häufigere / weniger häufige Aktualisierungen benötigen.

  • Konnektor hat die Aufnahme der letzten geplanten Tabelle beendet
    • In der Konsequenz bedeutet dies, dass die Zeitpläne häufiger sind, als es aus der Konfiguration hervorgeht, da es mindestens eine Aufnahme pro Tag geben sollte, was mindestens eine zusätzliche Überprüfung bedeutet.

    • Insbesondere wenn eine anfängliche Last vorhanden ist und viele Tabellen eingelesen werden müssen, wird der Zeitplan-Mechanismus nach der Aufnahme der einzelnen Tabellen ausgelöst.