Zugriff auf Daten, die vom Snowflake Connector for Google Analytics Raw Data erfasst wurden

Unter diesem Thema wird beschrieben, wie Sie über Ihr Snowflake-Konto auf Rohdaten in Google Analytics zugreifen können.

Unter diesem Thema:

Für jede Eigenschaft in BigQuery, die für die Synchronisierung konfiguriert ist, erstellt der Snowflake Connector for Google Analytics Raw Data Folgendes:

  • Die Tabelle ANALYTICS_propertyId mit demselben Namen wie der Eigenschaftsname. Diese Tabelle enthält die täglichen Rohdaten. Jeder Datensatz in der Tabelle wird in einer separaten Zeile gespeichert, und die Google Analytics-Ereignisdaten werden in einer einzigen Spalte vom Typ VARIANT gespeichert.

  • Die Ansicht ANALYTICS_propertyId__VIEW, die die Ereignisdaten aus der obigen Tabelle in einzelne Spalten aufteilt.

  • Die Tabelle ANALYTICS_INTRADAY_propertyId mit demselben Namen wie der Eigenschaftsname. Diese Tabelle enthält die Intraday-Rohdaten.

  • Die Ansicht ANALYTICS_INTRADAY_propertyId__VIEW, die die Intraday-Ereignisdaten aus der obigen Tabelle in separate Spalten aufteilt.

Der temporäre Eigentümer der obigen Tabellen und Ansichten ist der Snowflake Connector for Google Analytics Raw Data. Die Eigentümerschaft sollten während der Deinstallation des Konnektors übertragen werden. Informationen dazu finden Sie unter Deinstallieren und Neuinstallieren des Snowflake Connector for Google Analytics Raw Data.

In den folgenden Abschnitten wird erläutert, wie Sie die Berechtigungen für den Zugriff auf diese Daten erteilen und wie Sie auf die Daten dieser Tabellen und Ansichten zugreifen können.

Erteilen von Berechtigungen für den Zugriff auf die Google Analytics-Daten in Snowflake

Nachdem der Snowflake Connector for Google Analytics Raw Data die Daten mit Snowflake synchronisiert hat, können Sie mit data_owner_role auf die Daten zugreifen oder mit einer beliebigen andere Rolle, wenn diese die beiden folgenden Bedingungen erfüllt:

  • Hat USAGE-Berechtigung für die Datenbank und das Schema, die die Daten enthalten, die vom Snowflake Connector for Google Analytics Raw Data erfasst werden.

  • Ist die Anwendungsrolle DATA_READER zugewiesen, die über die SELECT-Berechtigung für Tabellen oder Ansichten in diesem Schema verfügt.

Wenn Sie beispielsweise den Snowflake Connector for Google Analytics Raw Data so konfiguriert haben, dass er die -Daten in der Datenbank dest_db und im Schema dest_schema speichert, können Sie die Rolle google_analytics_raw_data_reader_role erstellen und dieser Rolle die Berechtigungen für den Zugriff auf die Daten erteilen.

Das folgende Beispiel zeigt, wie Sie diese Berechtigungen erteilen:

CREATE ROLE google_analytics_raw_data_reader_role;
GRANT USAGE ON DATABASE dest_db TO ROLE google_analytics_raw_data_reader_role;
GRANT USAGE ON SCHEMA dest_db.dest_schema TO ROLE google_analytics_raw_data_reader_role;
GRANT APPLICATION ROLE SNOWFLAKE_CONNECTOR_FOR_GOOGLE_ANALYTICS_RAW_DATA.DATA_READER TO ROLE google_analytics_raw_data_reader_role;
Copy

Zugriff auf die Rohdaten

Für jede BigQuery-Tabelle, die Sie synchronisieren, erstellt der Snowflake Connector for Google Analytics Raw Data in Snowflake in der Datenbank und dem Schema, die zum Speichern des Snowflake Connector for Google Analytics Raw Data verwendet werden, eine neue Tabelle mit demselben Namen.

Wenn Sie beispielsweise den Konnektor so konfiguriert haben, dass die Daten in der Datenbank dest_db und im Schema dest_schema gespeichert werden und der Zugriff über die Rolle my_role erfolgt, und wenn Sie den Konnektor so konfiguriert haben, dass die Tabelle analytics_12345 in BigQuery synchronisiert wird, erstellt der Konnektor die Tabelle dest_db.dest_schema.analytics_12345.

Diese Tabelle enthält Rohdaten, die von BigQuery erfasst wurden. Die Tabelle enthält folgende Spalten:

Spaltenname

Datentyp

Beschreibung

raw

VARIANT

Die unformatierten Daten des Datensatzes.

run_id

VARIANT

ID des asynchronen Prozesses, der die Daten erfasst hat.

source_table_date

DATE

Name der Tagestabelle, aus der der Konnektor die Daten in die Tabelle aufgenommen hat.

ingestion_complete

BOOLEAN

„True“, wenn der Konnektor alle Daten aus der Tagestabelle aufgenommen hat, „false“, wenn ein Teil der Daten noch heruntergeladen wird.

Es folgt ein Beispiel für die Ausgabe einer SELECT-Anweisung, die die Daten der Tabelle dest_db.dest_schema.analytics_12345 abruft:

SELECT * FROM DEST_DB.DEST_SCHEMA.ANALYTICS_12345 LIMIT 5;

+---------------------------+--------------------------------------+--------------------+--------------------+
| RAW                       | RUN_ID                               |  SOURCE_TABLE_DATE | INGESTION_COMPLETE |
+---------------------------+--------------------------------------+--------------------+--------------------+
| { "app_info": null, ... } | f8edbf0e-1d0d-4ff5-9e5c-0e114b1fc44a |  2023-06-13        |  TRUE              |
| { "app_info": null, ... } | f8edbf0e-1d0d-4ff5-9e5c-0e114b1fc44a |  2023-06-13        |  TRUE              |
| { "app_info": null, ... } | f8edbf0e-1d0d-4ff5-9e5c-0e114b1fc44a |  2023-06-13        |  TRUE              |
| { "app_info": null, ... } | d949ab70-6a7e-47a5-b876-d7e33d701b0d |  2023-06-14        |  FALSE             |
| { "app_info": null, ... } | d949ab70-6a7e-47a5-b876-d7e33d701b0d |  2023-06-14        |  FALSE             |
+---------------------------+--------------------------------------+--------------------+--------------------+
Copy

Zugriff auf die vereinfachten Daten

Der Konnektor erstellt für jede Tabelle, die Daten enthält, eine vereinfachte Ansicht der Rohdaten (Flattening). Der Name der Ansicht ist der Name der Tabelle mit dem Suffix __view. So erstellt beispielsweise der Konnektor für die Tabelle namens analytics_12345 eine Ansicht namens dest_db.dest_schema.analytics_12345__view.

Bemerkung

Es gibt keine Ansichten für Zeilen, bei denen ingestion_complete den Wert FALSE hat.

Das folgende Beispiel zeigt die Ausgabe einer SELECT-Anweisung, die die Daten aus der Ansicht dest_db.dest_schema.analytics_12345__view abruft. In diesem Beispiel hat die Tabelle analytics_12345 die VARIANT-Spalte raw mit den Werten EVENT_DATE, EVENT_TIMESTAMP, EVENT_NAME und EVENT_PREVIOUS_TIMESTAMP.

USE ROLE MY_ROLE;
SELECT EVENT_DATE, EVENT_TIMESTAMP, EVENT_NAME, EVENT_PREVIOUS_TIMESTAMP
FROM DEST_DB.DEST_SCHEMA.ANALYTICS_12345__VIEW LIMIT 5;

+------------+--------------------------+-------------------+--------------------------+
| EVENT_DATE | EVENT_TIMESTAMP          | EVENT_NAME        | EVENT_PREVIOUS_TIMESTAMP |
+------------+--------------------------+-------------------+--------------------------+
| 2023-06-13 | 2023-06-13 18:27:20.775  | "page_view"       | null                     |
| 2023-06-13 | 2023-06-13 18:27:25.960  | "user_engagement" | null                     |
| 2023-06-13 | 2023-06-13 19:26:49.130  | "scroll"          | null                     |
| 2023-06-13 | 2023-06-13 18:27:51.135  | "page_view"       | null                     |
| 2023-06-13 | 2023-06-13 18:27:56.343  | "user_engagement" | null                     |
+------------+--------------------------+-------------------+--------------------------+
Copy