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