Snowflake Connector for Google Analytics Raw Data のデータインジェスチョンモデル¶
Snowflake connector for Google Analytics Raw Dataは、 コネクタ規約 に従うものとします。
このトピックでは、 Snowflake Connector for Google Analytics Raw Data がサポートするデータインジェスチョンモデルに関する情報を提供します。
Googleアナリティクスから BigQuery エクスポート¶
- Google Analyticsは3タイプの BigQuery エクスポートをサポートしています。
毎日:Google アナリティクスは、
events_XXXXXX
形式で指定されたテーブルにデータをエクスポートします。テーブルの作成は1日1回、その日のすべてのイベントが収集された後に行われます。Fresh Daily:Google アナリティクスは、
events_fresh_XXXXXX
形式で名前を付けたテーブルにデータをエクスポートします。テーブルの作成と更新はスケジュールに従って行われ、その頻度は最大で1時間に1回です。この機能はGoogleアナリティクス360をご利用のお客様のみ可用性です。ストリーミング:Google アナリティクスは、一日中継続的にデータをエクスポートし、
events_intraday_XXXXXX
形式で名付けられたテーブルに保存します。ユーザー:収集したイベントに関連するユーザーデータを含むGoogle Analyticsのエクスポート。テーブルは BigQuery に格納され、
users_XXXXXX
とpseudonymous_users_XXXXXX
の形式で名前が付けられます。
コネクタはこれら 3 タイプのエクスポートをサポートし、 BigQuery で見つけたすべてのテーブルを、追加の構成を必要とせずに自動的にダウンロードします。
シンクテーブル¶
各プロパティについて、コネクタはイベントをプロパティ固有のテーブルに保存します。このテーブルは、コネクタ構成時に提供されるデータベースとスキーマに作成されます。
各プロパティに対して、どのエクスポートタイプが有効になっているかによって、最大4つのシンクテーブルが作成される可能性があります。テーブルの名前は以下の通りです。
ANALYTICS_<プロパティID>
ANALYTICS_INTRADAY_<プロパティID>
USERS_<プロパティID>
PSEUDONYMOUS_USERS_<プロパティID>
日次のデータインジェスチョン¶
コネクタは、テーブルが BigQuery に存在することを認識すると、1回の実行でテーブル全体をダウンロードします。Googleは、日次テーブルの更新はテーブルが作成されてから最大72時間後まで可能であることを警告しています。データの一貫性を確保するため、コネクタは72時間後にテーブルを再ロードします(正確な再ロード時間はコネクタのインジェスチョンスケジュール応じて異なることに注意してください)。テーブル作成後72時間経過後に行われた BigQuery の更新は、Snowflakeに反映されません。このようなテーブルは、 RELOAD_PROPERTY プロシージャのいずれかを使用して手動で再ロードできます。
Fresj Dailyテーブル インジェスチョン¶
コネクタの取り込みが成功するたびに、リロードが継続的に作成され、最大96時間(テーブルが作成された日の24時間とデータ更新が発生する72時間)テーブルをリロードします。リロードは、インジェストが成功するたびに実行され、ディスパッチャが実行されるたびにトリガーされます。最終リロード日は、テーブル名と割り当てられた96時間期間に基づいて計算されます。
コネクタが一時停止した場合など、Fresh Dailyインジェストに追いつく必要がある場合、コネクタはすべてのテーブルを順次インジェストします。リロードが不要な場合、つまりテーブルの作成から96時間以上経過している場合は作成されません。
この機能はGoogleアナリティクス360をご利用のお客様のみ可用性です。 ENABLE_PROPERTIES
または UPDATE_INGESTION_OPTIONS
のプロシージャを使用して、Fresh Dailyエクスポートを手動で有効にすることができます。
日中のインジェスト¶
このコネクタは、過去の日中テーブル(BigQuery に存在する場合)のダウンロードと、現在も更新を受けている日中テーブルの継続的なインジェストをサポートします。
過去日については、コネクタは日中テーブルを日次テーブルと同じ方法でダウンロードします。全体として各テーブルをダウンロードし、現在の日付のデータに到達するまで1度に1つのテーブルをダウンrロードします。
コネクタは、日中テーブルが BigQuery 内の最後のテーブルであることを認識すると、テーブルの増分処理を開始します。つまり、一日中、一定の間隔(デフォルトでは8時間)で、テーブルから受信データのバッチをダウンロードします。
以下のいずれかに該当する場合:
翌日のテーブルが BigQuery データセットに表示されました
指定されたテーブルの最初のロードから24時間が経過
コネクタは指定された日中テーブルの最終インジェストを行い、次のインジェストに切り替わります。
注釈
イベントが10分以上遅れた場合、少数のイベントがインジェストされないことがあります。日中テーブルの増分ロードが完了するとすぐに、コネクタは失われたイベントがあるかどうかを確認し、失われたイベントがある場合は、Snowflakeと BigQuery 間のデータの一貫性を確保するためにテーブルの再ロードをスケジュールします。
ユーザーデータテーブルのインジェスチョン¶
ユーザーデータテーブルのインジェスチョンは、日次テーブルのインジェスチョンと同じメカニズムに基づいています。
スケジューリング¶
コネクタは、 BigQuery に新しいテーブルが存在するかどうかを確認し、次の場合にそれらのテーブル(または日中増分インジェスチョンの場合はその一部)をSnowflakeにインジェスチョンするようにスケジュールします。
- 設定されたスケジュールに従ってタスクがトリガーされた場合
デフォルトでは8時間ごと
CONFIGURE_INGESTION_INTERVAL を使用すると、更新頻度を増やす/減らす必要がある場合にデフォルトの間隔値を変更できます。
- コネクタが最後にスケジュールされたテーブルのインジェスチョンを終了した場合
結果的に、1日に少なくとも1回のインジェスチョンが必要となり、少なくとも1回の追加チェックが必要になるため、構成から生じるスケジュールよりも頻繁にスケジュールが実行されることになります。
特に、初期ロードが進行中で、インジェストするテーブルの数が多い場合、各テーブルをインジェストした後に、スケジューリングメカニズムがトリガーされます。