Snowflake Connector for Google Analytics Raw Data のデータインジェスチョンの設定¶
このトピックでは、Snowflakeアカウントで Snowflake Connector for Google Analytics Raw Data データにアクセスする方法について説明します。
注釈
1つのプロパティは、一度に1つの GCP プロジェクトからのみインジェストすることができます。現在、以前に構成されたプロパティのプロジェクトを変更するには、コネクタを再インストールする必要があります。この制限は将来削除される予定です。
プロパティのエクスポート設定を変更して、別の GCP プロジェクトへのエクスポートを開始する場合、以前の BigQuery インスタンスからデータを主導で移動して、新しく構成されたインスタンスに統合する必要があります。
Snowsightを使用したデータインジェスチョンの設定¶
Snowsight を使用してデータインジェストを設定するには、次を実行します。
- Snowsight ロールを持つユーザーとして ACCOUNTADMIN にサインインします。 
- ナビゲーションメニューで Catalog » Apps を選択します。 
- Snowflake Connector for Google Analytics Raw Data を検索し、コネクタのタイルを選択します。 
- Snowflake Connector for Google Analytics Raw Data のページで Data Sync セクションに移動します。 - これにより、すべてのGoogleアナリティクスのプロパティのリストが表示されます。 
- インジェストするプロパティを選択します: - インジェストするプロパティを検索します。 
- 選択するプロパティの横にある Status 列のチェックボックスを選択します。 
- Snowflakeにインジェストするプロパティごとに、これらのステップを繰り返します。 
 
- Status 列の見出しを選択して、現在選択しているプロパティを表示します。 
- Start sync を選択して、Snowflakeアカウントへのデータのインジェスチョンを開始します。 
選択されたプロパティは、プロパティリストに表示されます。
Data Ingestion ステータスは Manage data synchronization セクションの右上隅に表示されます。
各プロパティのデータ同期は2つのロードを作成します。
- 履歴データを読み込み中の初期ロード。現在の日から始まり、データが可用性である最初の日に到達するまで逆行します。 
- 当日のデータを読み込み、順次実行する「現在ロード」。 
現在のデータのみを同期する場合は、ワークシートを使って同期することができます。
Snowsightを使用してプロパティを有効にすると、コネクタは可能なすべてのエクスポート タイプの取り込みを試みます。特定のエクスポート・タイプのみを取り込みたい場合、例えば ` に `events_BigQuery テーブルのみがある場合、 SQL ステートメントを使用することで取り込むことができます。
注釈
初期ロードを 持つ プロパティが有効になると、初期ロードを無効にすることができます。一方、初期ロード なし でプロパティを有効にすると、初期ロードを後で有効にすることはできません。
Snowsightを使用したデータインジェスチョンの変更¶
インジェストされるGoogleアナリティクステーブル、またはテーブルの同期スケジュールを変更するには、次を実行します。
- Snowsight ロールを持つユーザーとして ACCOUNTADMIN にサインインします。 
- ナビゲーションメニューで Catalog » Apps を選択します。 
- Snowflake Connector for Google Analytics Raw Data を検索し、コネクタのタイルを選択します。 
- Snowflake Connector for Google Analytics Raw Data のページで Data Sync セクションに移動します。 
- Edit properties を選択します。 
- インジェストするテーブルを変更します。 - インジェストするテーブルを検索します。 
- 選択または選択解除するテーブルの横にある Status 列のチェックボックスを選択します。 
 
- Update data sync を選択します。 
SQL ステートメントを使用したデータインジェスチョンの設定¶
SQL ステートメントを使用してデータインジェスチョンを設定するには、次を実行します。
注釈
これらの設定を構成するには、コネクタのインスタンスとして機能するデータベースの PUBLIC スキーマで定義されているストアドプロシージャを使用します。
これらのストアドプロシージャを呼び出す前に、そのデータベースをセッションに使用するデータベースとして選択します。
たとえば、そのデータベースの名前が snowflake_connector_for_google_analytics_raw_data の場合は、次のコマンドを実行します。
USE DATABASE snowflake_connector_for_google_analytics_raw_data;
インジェスチョンに使用できるプロパティのリスト¶
指定された GCP プロジェクト内で利用可能なすべてのプロパティをリストするには、以下のストアドプロシージャを呼び出します:
CALL LIST_GA_PROPERTIES();
その結果、認証されたアカウントによってインジェストされる利用可能なすべてのプロジェクトとプロパティが表示されます。結果が返ってこない場合は、次を確認してください:
- Googleアナリティクスから BigQuery へのデータエクスポートが設定されているかどうか。 
- エクスポートされたデータが BigQuery で表示されているかどうか。 
- 使用するサービスアカウント/認証ユーザーに適切なロールが割り当てられているかどうか。 
データエクスポートの設定から BigQuery にデータを保存するまでに最大24時間かかることをご了承ください。この遅延は、 LIST_GA_PROPERTIES プロシージャが結果を出さない原因となる可能性があります。
Googleアナリティクスのエクスポートをオフにしても、 LIST_GA_PROPERTIES によってプロパティが省略されるわけではありません。エクスポートがオフになっても、データは BigQuery に保持され、コネクタによって同期されます。
宛先データベースの準備¶
インジェスチョンを有効にする前に、宛先データベースとスキーマ内のテーブルとビューを作成するアクセス権をコネクタに付与する必要があります。
GRANT USAGE ON DATABASE <destination database> TO APPLICATION <application name>; GRANT USAGE ON SCHEMA <destination database>.<destination schema> TO APPLICATION <application name>; GRANT CREATE TABLE ON SCHEMA <destination database>.<destination schema> TO APPLICATION <application name>; GRANT CREATE VIEW ON SCHEMA <destination database>.<destination schema> TO APPLICATION <application name>;
プロパティのインジェスチョンの有効化また無効化¶
Googleアナリティクス内にある特定のテーブルのデータの同期を有効または無効にするには、次の引数で ENABLE_PROPERTIES ストアドプロシージャを呼び出します。
CALL ENABLE_PROPERTIES('<gcp_project>', ['<properties_to_configure>'], <enable_initial_load>, <exclude_nulls>, <disable_auto_reloads>, <enabled_export_types>);
条件:
- gcp_project
- 有効なプロパティの GCP プロジェクトを指定します。 
- properties_to_configure
- Googleアナリティクスのプロパティ名を一重引用符でコンマ区切りにしたリストを指定します。 - 接頭辞 - analytics_を除いたプロパティ名を使用します。
- enable_initial_load
- 現在の同期と並行してプロパティのすべての履歴データをロード中である、初期データ読み込みを有効にするか無効にするかを示すブール。 - これはオプションの引数で、デフォルト値は - trueです。- プロパティが以前に有効だった場合、このフラグは無視され、インジェスチョンは、プロパティが無効化されたときに停止した時点から継続されます。 
- exclude_nulls
- インジェストれたデータからNULL値を含むフィールドを除外するかどうかを示すオプションのブール値。このパラメーターを - trueに設定すると、データインジェスチョンのスループットが向上します。デフォルト値は- falseです。
- disable_auto_reloads
- 自動再ロードを無効にするかどうかを示すオプションのブール値。自動再ロードの詳細については、 Snowflake Connector for Google Analytics Raw Data のデータインジェスチョンモデル をご参照ください。この値を - trueに設定すると、クレジットの消費を抑えることができますが、遅れたデータはSnowflakeにインジェストされません。- trueエクスポート・タイプでは、このプロパティを- FRESH_DAILYにセットすることはできません。デフォルト値は- falseです。
- enabled_export_types
- コネクタがデータのインジェストを試みるエクスポートタイプのオプションリスト。可能な値は - DAILY、- FRESH_DAILY、- INTRADAY、- USERSと- PSEUDONYMOUS_USERSです。デフォルトでは、- FRESH_DAILYを除くすべてのエクスポート・タイプが有効になります。
た と えば、プロジェクト property1 内の property2、 property3、 gcp_example_project というプロパティ の同期を有効にす る には、 以下のクエリを実行します。
CALL ENABLE_PROPERTIES('gcp_example_project', ['property1','property2','property3']);
初期データのロードなしでプロパティを有効にするには、次に類似する ENABLE_PROPERTIES クエリを使用します。
CALL ENABLE_PROPERTIES('gcp_example_project', ['property1','property2','property3'], false);
BigQuery に日次データとユーザーデータしかない場合は、以下のクエリを実行することで、日中のエクスポートを明示的に省略することができます。
CALL ENABLE_PROPERTIES(PROJECT_ID => 'gcp_example_project', PROPERTY_IDS => ['property1'], ENABLED_EXPORT_TYPES => ['DAILY', 'FRESH_DAILY', 'USERS', 'PSEUDONYMOUS_USERS']);
名前付き引数を使用すると、特定の引数を指定し、残りは変更せずに残すことができます。たとえば、初期ロードでプロパティを有効にし、NULL値を含むフィールドを除外するには、次のクエリを実行します。
CALL ENABLE_PROPERTIES( PROJECT_ID => 'gcp_example_project', PROPERTY_IDS => ['property1', 'property2', 'property3'], INITIAL_LOAD => TRUE, EXCLUDE_NULLS => TRUE );
これらのプロパティが取り込まれないようにするには、以下のコマンドを実行する:
CALL DISABLE_PROPERTIES('gcp_example_project', ['property1','property2','property3']);
プロパティを無効にすると、同期が停止します。プロパティの同期を無効にすると、開始したけれどもまだ終了していないインジェスチョン全体が宛先データベースから削除されます。
ENABLE_PROPERTIES プロシージャは、指定されたプロパティ名を ENABLED_PROPERTIES ビューに追加します。
初期ロード¶
新しいプロパティを有効にすると、コネクタは、新しいイベントの収集を担当する現在の同期と並行して、 BigQuery で見つかったすべての履歴データの取り込みを開始します。初期ロードは、データが可用性である最初の日に到達するまで、現在の日から逆算して実行されます。
すでにインジェストされたデータの再ロード¶
すでにインジェストされたデータを再ロードするか、まったくインジェストされていないデータをロードする(例: 初期ロードなしでプロパティを有効にした、またはデータが BigQuery に存在しなかったが、現在は使用可能であるため)には、次のいずれかのプロシージャを呼び出します。
CALL RELOAD_PROPERTY('<property id>');このプロシージャは、
DAILYで見つかった最も古いテーブルとコネクタの最後にインジェストされた(または最終的にFRESH_DAILYとしてマークされた)テーブル日付間の、特定のプロパティのすべてのデータ(INTRADAY、USERS、PSEUDONYMOUS_USERS、 BigQuery とDATA_NOT_FOUND)の再ロードをトリガーします。CALL RELOAD_PROPERTY('<property id>', <first date>, <last date>);指定された日付間の、指定されたプロパティのすべてのデータ(
DAILY、FRESH_DAILY、INTRADAY、USERS、PSEUDONYMOUS_USERS)の再ロードをトリガーします。CALL RELOAD_PROPERTY('<property id>', '<export type>', <first date>, <last date>);指定された日付間の、指定されたプロパティの
DAILY、FRESH_DAILY、INTRADAYまたはUSERS、PSEUDONYMOUS_USERSデータの再ロードをトリガーします。
注釈
- 再ロードはメインロードと並行して処理されます。 
- 日付範囲が重複しない限り、プロパティの再ロードを必要な回数だけトリガーできます。 
- BigQuery から各テーブルをダウンロードした後にデータが交換されます。 
- 特定の日のデータが BigQuery にある場合のみ、交換データを再ロードします。 
進行中の再ロードは専用ビューで確認できます。
SELECT * FROM PUBLIC.ONOGOING_RELOADS;
進行中の再ロードをキャンセルするには、次のクエリを実行します。
CALL CANCEL_RELOAD_PROPERTY('<load id>');