Snowflake Connector for Google Analytics Raw Data のデータインジェスチョンの設定

Snowflake connector for Google Analytics Raw Dataは、 コネクタ規約 に従うものとします。

このトピックでは、Snowflakeアカウントで Snowflake Connector for Google Analytics Raw Data データにアクセスする方法について説明します。

注釈

1つのプロパティは、一度に1つの GCP プロジェクトからのみインジェストすることができます。現在、以前に構成されたプロパティのプロジェクトを変更するには、コネクタを再インストールする必要があります。この制限は将来削除される予定です。

プロパティのエクスポート設定を変更して、別の GCP プロジェクトへのエクスポートを開始する場合、以前の BigQuery インスタンスからデータを主導で移動して、新しく構成されたインスタンスに統合する必要があります。

Snowsightを使用したデータインジェスチョンの設定

Snowsight を使用してデータインジェストを設定するには、次を実行します。

  1. ACCOUNTADMIN ロールを持つユーザーとして Snowsight にサインインします。

  2. ナビゲーションメニューで Data Products » Apps を選択します。

  3. Snowflake Connector for Google Analytics Raw Data を検索し、コネクタのタイルを選択します。

  4. Snowflake Connector for Google Analytics Raw Data のページで Data Sync セクションに移動します。

    これにより、すべてのGoogleアナリティクスのプロパティのリストが表示されます。

  5. インジェストするプロパティを選択します:

    1. インジェストするプロパティを検索します。

    2. 選択するプロパティの横にある Status 列のチェックボックスを選択します。

    3. Snowflakeにインジェストするプロパティごとに、これらのステップを繰り返します。

  6. Status 列の見出しを選択して、現在選択しているプロパティを表示します。

  7. Start sync を選択して、Snowflakeアカウントへのデータのインジェスチョンを開始します。

選択されたプロパティは、プロパティリストに表示されます。

Data Ingestion ステータスは Manage data synchronization セクションの右上隅に表示されます。

各プロパティのデータ同期は、プロパティのすべての履歴データをインジェクトする初期ロードから始まり、現在の同期に進みます。現在のデータのみを同期する場合は、ワークシートを使って同期することができます。

注釈

初期ロードを 持つ プロパティが有効になると、初期ロードを無効にすることができます。一方、初期ロード なし でプロパティを有効にすると、初期ロードを後で有効にすることはできません。

Snowsightを使用したデータインジェスチョンの変更

インジェストされるGoogleアナリティクステーブル、またはテーブルの同期スケジュールを変更するには、次を実行します。

  1. ACCOUNTADMIN ロールを持つユーザーとして Snowsight にサインインします。

  2. ナビゲーションメニューで Data Products » Apps を選択します。

  3. Snowflake Connector for Google Analytics Raw Data を検索し、コネクタのタイルを選択します。

  4. Snowflake Connector for Google Analytics Raw Data のページで Data Sync セクションに移動します。

  5. Edit properties を選択します。

  6. インジェストするテーブルを変更します。

    1. インジェストするテーブルを検索します。

    2. 選択または選択解除するテーブルの横にある Status 列のチェックボックスを選択します。

  7. Update data sync を選択します。

SQL ステートメントを使用したデータインジェスチョンの設定

SQL ステートメントを使用してデータインジェスチョンを設定するには、次を実行します。

注釈

これらの設定を構成するには、コネクタのインスタンスとして機能するデータベースの PUBLIC スキーマで定義されているストアドプロシージャを使用します。

これらのストアドプロシージャを呼び出す前に、そのデータベースをセッションに使用するデータベースとして選択します。

たとえば、そのデータベースの名前が snowflake_connector_for_google_analytics_raw_data の場合は、次のコマンドを実行します。

USE DATABASE snowflake_connector_for_google_analytics_raw_data;
Copy

インジェスチョンに使用できるプロパティのリスト

指定された GCP プロジェクト内で利用可能なすべてのプロパティをリストするには、以下のストアドプロシージャを呼び出します:

CALL LIST_GA_PROPERTIES();
Copy

その結果、認証されたアカウントによってインジェストされる利用可能なすべてのプロジェクトとプロパティが表示されます。結果が返ってこない場合は、次を確認してください:

  • 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>;
Copy

プロパティのインジェスチョンの有効化また無効化

Googleアナリティクス内にある特定のテーブルのデータの同期を有効または無効にするには、次の引数で ENABLE_PROPERTIES ストアドプロシージャを呼び出します。

CALL ENABLE_PROPERTIES('<gcp_project>', ['<properties_to_configure>'], <enable_initial_load>, <exclude_nulls>, <disable_auto_reloads>);
Copy

条件:

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にインジェストされません。デフォルト値は false です。

たとえば、プロジェクト gcp_example_projectproperty1property2、および property3 という名前のプロパティの同期を有効にするには、次のコマンドを実行します。

CALL ENABLE_PROPERTIES('gcp_example_project', ['property1','property2','property3']);
Copy

初期データの読み込みなしでプロパティを有効にするには、次に類似する ENABLE_PROPERITES クエリを使用します。

CALL ENABLE_PROPERTIES('gcp_example_project', ['property1','property2','property3'], false);
Copy

名前付き引数を使用すると、特定の引数を指定し、残りは変更せずに残すことができます。たとえば、初期ロードでプロパティを有効にし、NULL値を含むフィールドを除外するには、次のクエリを実行します。

 CALL ENABLE_PROPERTIES(
    PROJECT_ID => 'gcp_example_project',
    PROPERTY_IDS => ['property1', 'property2', 'property3'],
    INITIAL_LOAD => TRUE,
    EXCLUDE_NULLS => TRUE
);
Copy

これらのプロパティが取り込まれないようにするには、以下のコマンドを実行する:

CALL DISABLE_PROPERTIES('gcp_example_project', ['property1','property2','property3']);
Copy

プロパティを無効にすると、同期が停止します。プロパティの同期を無効にすると、開始したけれどもまだ終了していないインジェスチョン全体が宛先データベースから削除されます。

ENABLE_PROPERTIES プロシージャは、指定されたプロパティ名を ENABLED_PROPERTIES ビューに追加します。

初期ロード

新しいプロパティを有効にすると、コネクタは初期ロードモードに入ります。これは、新しいイベントを収集する前に、 BigQuery で見つかったすべての履歴データがインジェストされることを意味します。

すでにインジェストされたデータの再ロード

すでにインジェストされたデータを再ロードするか、まったくインジェストされていないデータをロードする(例: 初期ロードなしでプロパティを有効にした、またはデータが BigQuery に存在しなかったが、現在は使用可能であるため)には、次のいずれかのプロシージャを呼び出します。

CALL RELOAD_PROPERTY('<property id>');
Copy

このプロシージャは、 BigQuery で見つかった最も古いテーブルとコネクタの最後にインジェストされた(または最終的に DATA_NOT_FOUND としてマークされた)テーブル日付間の、特定のプロパティのすべてのデータ(DAILYINTRADAYUSERSPSEUDONYMOUS_USERS)の再ロードをトリガーします。

CALL RELOAD_PROPERTY('<property id>', <first date>, <last date>);
Copy

指定された日付間の、指定されたプロパティのすべてのデータ(DAILYINTRADAYUSERSPSEUDONYMOUS_USERS)の再ロードをトリガーします。

CALL RELOAD_PROPERTY('<property id>', '<export type>', <first date>, <last date>);
Copy

指定された日付間の、指定されたプロパティの DAILYINTRADAYUSERS または PSEUDONYMOUS_USERS データの再ロードをトリガーします。

注釈

  • 再ロードはメインロードと並行して処理されます。

  • 日付範囲が重複しない限り、プロパティの再ロードを必要な回数だけトリガーできます。

  • BigQuery から各テーブルをダウンロードした後にデータが交換されます。

  • 特定の日のデータが BigQuery にある場合のみ、交換データを再ロードします。

進行中の再ロードは専用ビューで確認できます。

SELECT * FROM PUBLIC.ONOGOING_RELOADS;
Copy

進行中の再ロードをキャンセルするには、次のクエリを実行します。

CALL CANCEL_RELOAD_PROPERTY('<load id>');
Copy