Snowflakeデータソースについて
この記事では、SnowflakeデータをTealiumにインポートする方法について説明します。
SnowflakeデータソースはEarly Access中で、選ばれた顧客のみが利用可能です。この機能を試してみたい場合は、Tealiumサポート担当者に連絡してください。
要件
この機能には以下が必要です:
- Tealium EventStreamまたはTealium AudienceStream
- Snowflakeアカウント
USAGE
権限を持つSnowflakeロール
動作方法
Snowflakeデータソースを使用して、Snowflakeテーブルまたはビューからほぼリアルタイムで大量データをインポートします。データをインポートした後、Tealium属性に変換してマッピングし、ターゲットアクティベーションのためのより良いオーディエンスを構築します。
始めるには、Snowflakeテーブルまたはビューごとに1つのSnowflakeデータソースを作成し、データセットのクエリモードとSQLのWHERE
句をカスタマイズします。次に、データベースの列をTealium属性にマッピングします。Snowflakeソースからインポートされた各行はTealiumでイベントとして処理されます。
プロファイルごとに最大10個のクラウドデータウェアハウスデータソースを有効にすることができます。
レート制限
Snowflakeからのインポートは通常、アカウントごとに秒間50イベントに制限されていますが、変動する場合があります。標準の属性サイズ制限は引き続き適用されます。詳細については、属性について > サイズ制限を参照してください。
Snowflakeデータソースは、一度に最大1,000行のデータを取得します。
Snowflakeテーブル
各Snowflakeデータソースは、一つのSnowflakeテーブルまたはビューからデータをインポートすることをサポートしています。複数のSnowflakeテーブルからデータをインポートするには、Snowflakeでビューを作成し、データソース構成でそのビューを選択します。Snowflakeのビューについての詳細は、Snowflake: ビューの概要を参照してください。
データタイプ
Snowflakeデータソースは、すべてのSnowflakeデータタイプをサポートしています。データが正しくインポートされるように、以下のガイドラインに従ってSnowflakeデータタイプをマッピングしてください:
Snowflake | Tealium |
---|---|
数値データタイプ | 数値属性 |
文字列およびバイナリデータタイプ | 文字列属性 |
論理データタイプ | ブール属性 |
日付および時間データタイプ | 日付属性 |
配列 | 文字列の配列、数値の配列、またはブールの配列 |
オブジェクト、バリアント、地理、幾何、およびベクターデータタイプ | 文字列属性 |
Snowflakeデータタイプの詳細については、Snowflake: データタイプの概要を参照してください。
イベント
デフォルトのTealium データ収集の操作順序では、Snowflakeデータソースからのイベントはイベント受信ステップの前に処理され、操作の順序は変更されません。
Snowflakeデータソースのイベントは、他のデータソースからのイベントと同様にEventStreamおよびAudienceStreamに送信されますが、以下の重要な例外があります:
- ブラウザ固有の属性:ユーザーエージェントなどのブラウザ固有の属性は入力されません。
- エンリッチメント:AudienceStreamの事前ロードされた属性に対するエンリッチメントは実行されませんが、
First visit
属性を除きます。 - 関数:データ変換関数は実行されません。
- 単一ページ訪問:受信イベントは単一ページ訪問/訪問の基準から除外されます。他のデータソースからの単一ページ訪問および訪問はAudienceStreamに保持されません。詳細については、AudienceStreamでの単一ページ訪問はどのように処理されますか? (Tealiumログインが必要)を参照してください。
- 訪問の長さ:Snowflakeデータソースイベントによって開始された訪問は60秒間続きます。
- 訪問IDマッピング:Snowflakeデータソース構成でAudienceStream訪問ID属性をマッピングする場合、訪問IDは選択した列の値に直接構成され、追加のエンリッチメントは必要ありません。
構成
クエリモード
Snowflakeデータソースは、Snowflakeテーブルまたはビューからデータをインポートする方法を制御するために、3つのクエリモードをサポートしています:
タイムスタンプ + インクリメント(推奨)
タイムスタンプ + インクリメントは、すべての行が期待通りにインポートされることを確実にするための最も信頼性の高いモードです。
Tealiumは、タイムスタンプ列と自動インクリメント列に基づいて新規または変更された行をインポートします。このモードでは、前回のインポートより新しいタイムスタンプを持つ行と/または前回インポートされた行より大きい自動インクリメント値を持つ行がインポートされます。
追加のモード
タイムスタンプ
Tealiumはタイムスタンプ列に基づいて新規または変更された行をインポートします。このモードでは、前回のインポートより新しいタイムスタンプを持つ行がインポートされます。テーブルに更新ごとに構成または更新されるタイムスタンプ列がある場合は、このモードを使用します。
タイムスタンプは、異なるデータバッチで重複するタイムスタンプがある場合、行が見逃される可能性があるため、タイムスタンプ + インクリメントほど信頼性がありません。以下の例で示されています。
インクリメント Tealiumは自動インクリメント列に基づいて行をインポートします。このモードでは、前回インポートされた行より大きい自動インクリメント値を持つ行がインポートされます。タイムスタンプ列がなく、自動インクリメント列のみを持っている場合は、このモードを使用します。 インクリメントは、既存の行の変更または削除を検出できないため、タイムスタンプ + インクリメントほど信頼性がありません。
Snowflakeデータソースは、一括クエリモードをサポートしていません。
クエリモードの例
次の例は、行のバッチ処理とクエリモードがどのように連携するかを示しています。次の表では、modification_time
がタイムスタンプ列で、customer_id
がインクリメント列です。
customer_id |
modification_time |
customer_segment |
---|---|---|
1 | 01Apr 13:00 | A |
2 | 01Apr 13:00 | B |
… | … | … |
1000 | 01Apr 13:00 | D |
1001 | 01Apr 13:00 | E |
1002 | 02Apr 14:00 | A |
Snowflakeデータソースは、一度に1,000行のデータを取得し、バッチのデータからタイムスタンプおよび/またはインクリメント列の最大値をマークします。
- タイムスタンプ + インクリメントモードを使用する場合:データソースは1-1000行を取得します。次にデータソースがデータを取得するとき、次の条件のいずれかで行を探します:
modification_time
が01Apr 13:00
で、customer_id
が1000
より大きい またはmodification_time
が01Apr 13:00
より大きい - タイムスタンプモード(例の
modification_time
)を使用する場合:データソースは1-1000行を取得し、最大タイムスタンプ01Apr 13:00
をマークします。次にデータソースがデータを取得するとき、01Apr 13:00
より大きいタイムスタンプを探します。この場合、行1001は同じタイムスタンプ値を持っていますが、異なるデータバッチで取得されたため、スキップされます。 - インクリメントモードを使用する場合:データソースは1-1000行を取得し、最大自動インクリメント値
1000
をマークしますが、新しいデータを持ち、更新されたタイムスタンプ列を持つ行は処理されません。例のcustomer_id
でさらにインクリメントされた新規追加行のみが処理されます。
SQLクエリ
Snowflakeデータソースのクエリ構成で、Tealiumにインポートしたい列を選択します。処理の追加条件を追加するには、SQLのWHERE
句を使用します。このオプションはクエリにWHERE
文を追加します。WHERE
文は基本的なSQL構文をサポートしています。
WHERE
句は複数のテーブルからのサブクエリをサポートしていません。複数のSnowflakeテーブルからデータをインポートするには、Snowflakeでビューを作成し、データソース構成でそのビューを選択します。詳細については、Snowflake: ビューの概要を参照してください。
列マッピング
カラムマッピング構成は、Snowflakeテーブルの各カラムに対応するイベント属性を決定します。
カラム名はしばしばCustomer Data Hubの属性名と異なるため、このマッピングによりデータが適切にインポートされることを保証します。例えば、テーブルにはpostalCode
というカラムがあるかもしれませんが、対応するイベント属性はcustomer_zip
と名付けられているため、それらを関連付けるマッピングが必要です。
SnowflakeデータタイプをTealiumデータタイプにマッピングする情報については、データタイプセクションを参照してください。
訪問IDのマッピング
インポートされたデータがWeb、モバイル、またはHTTP APIなどの他のソースと繋がるようにするためには、Snowflakeテーブルの各行に一意の訪問IDを持つカラムがあることを確認してください。次に、訪問IDカラムと対応するイベント属性をAudienceStreamでの訪問識別のための一意の属性タイプである訪問ID属性にマッピングします。マッピングされたイベント属性の値はtealium_visitor_id
属性に割り当てられ、既存の訪問プロファイルと直接照合されます。
AudienceStreamでの訪問IDマッピングについての詳細は、Tealiumデータソースを使用した訪問識別を参照してください。
許可するIPアドレス
Snowflakeアカウントがリクエストを受け入れるシステムに厳しいルールを設けている場合は、Tealium IPアドレスをSnowflakeの許可リストに追加してください。
最終更新日 :: 2025年February月28日