Snowflake Connector for Google Analytics Raw Data によりインジェストされたデータへのアクセス¶
このトピックでは、SnowflakeアカウントからGoogleアナリティクスの生データにアクセスする方法について説明します。
このトピックの内容:
同期用に構成はされた BigQuery の各プロパティに対して、 Snowflake Connector for Google Analytics Raw Data は次を作成します。
プロパティ名と同じ名前の
ANALYTICS_propertyId
テーブル。このテーブルには生の日次データが含まれています。テーブルの各記録は別々の行に保存され、Googleアナリティクスのイベントデータは VARIANT 型の1つの列に保存されます。上記のテーブルのイベントデータを個別の列にマッピングする
ANALYTICS_propertyId__VIEW
ビュー。プロパティ名と同じ名前の
ANALYTICS_INTRADAY_propertyId
テーブル。このテーブルには日中の生データが含まれています。上記のテーブルの日中のイベントデータを個別の列にマッピングする
ANALYTICS_INTRADAY_propertyId__VIEW
ビュー。
上記のテーブルとビューの仮オーナーは Snowflake Connector for Google Analytics Raw Data です。所有権はコネクタのアンインストール中に譲渡する必要があります。詳細は Snowflake Connector for Google Analytics Raw Data のアンインストールと再インストール をご覧ください。
次のセクションでは、このデータにアクセスする権限を付与する方法と、これらのテーブルおよびビューからデータにアクセスする方法について説明します。
SnowflakeでのGoogleアナリティクスのデータにアクセスする権限の付与¶
Snowflake Connector for Google Analytics Raw Data がSnowflakeとデータを同期した後、 data_owner_role
を使用してデータにアクセスしたり、以下の両方の条件を満たしていれば他のロールにアクセスしたりすることができます:
Snowflake Connector for Google Analytics Raw Data によりインジェストされたデータを含むデータベースとスキーマに対する USAGE 権限があります。
このスキーマ内のテーブルまたはビューに対して SELECT 権限を持つ DATA_READER アプリケーションロールで付与されます。
たとえば、データを dest_db
データベースと dest_schema
スキーマに格納するように Snowflake Connector for Google Analytics Raw Data を構成した場合は、 google_analytics_raw_data_reader_role
ロールを作成し、データにアクセスする権限をそのロールに付与できます。
次の例は、これらの権限を付与する方法を示しています。
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;
生データへのアクセス¶
同期する BigQuery テーブルごとに、 Snowflake Connector for Google Analytics Raw Data は Snowflake Connector for Google Analytics Raw Data を格納するために使用されるSnowflakeデータベースとスキーマに同じ名前の新しいテーブルを作成します。
たとえば、データを dest_db
データベースと dest_schema
スキーマに格納し、 my_role
ロールを介してデータにアクセスするようにコネクタを構成した場合で、 BigQuery の analytics_12345
テーブルを同期するようにコネクタを構成した場合、コネクタは dest_db.dest_schema.analytics_12345
という名前のテーブルを作成します。
このテーブルには、 BigQuery から取り込まれた生データが含まれています。テーブルには次の列が含まれます。
列名 |
データ型 |
説明 |
---|---|---|
|
VARIANT |
記録の生データ。 |
|
VARIANT |
データをインジェストする非同期プロセスのID。 |
|
DATE |
コネクタがデータをテーブルにインジェストした日次テーブルの名前。 |
|
BOOLEAN |
コネクタが日次テーブルからすべてのデータをインジェストした場合はtrueで、一部のデータがまだダウンロード中である場合はfalseです。 |
以下は、 dest_db.dest_schema.analytics_12345
テーブルのデータを取得する SELECT ステートメントの出力例です。
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 | +---------------------------+--------------------------------------+--------------------+--------------------+
フラット化されたデータへのアクセス¶
データを含むテーブルごとに、コネクタは生データに対して2つのフラット化されたビューを作成します。ビューの名前は、接尾辞 __view
が付いたテーブルの名前です。たとえば、 analytics_12345
という名前のテーブルの場合、コネクタは dest_db.dest_schema.analytics_12345__view
ビューを作成します。
注釈
ingestion_complete
が FALSE
である行のビューはありません。
以下は、 dest_db.dest_schema.analytics_12345__view
ビューからデータを取得する SELECT ステートメントの出力例です。この例では、 analytics_12345
テーブルには VARIANT
列 raw
があり、 EVENT_DATE
、 EVENT_TIMESTAMP
、 EVENT_NAME
、 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 | +------------+--------------------------+-------------------+--------------------------+