Snowflakeデータソースについて
この記事では、SnowflakeデータをTealiumにインポートする方法について説明します。
Snowflakeデータソースは早期アクセス中で、一部のお客様のみが利用可能です。この機能を試してみたい場合は、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データソースは、1つの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のマッピング
インポートされたデータがウェブ、モバイル、HTTP APIなどの他のソースとステッチされるようにするためには、Snowflakeテーブルの各行に一意のビジターIDを持つカラムがあることを確認してください。その後、ビジターIDカラムと対応するイベント属性をAudienceStream内のビジターID属性(ビジター識別のための一意の属性タイプ)にマッピングします。マッピングされたイベント属性の値はtealium_visitor_id
属性に割り当てられ、既存のビジタープロファイルに直接マッチします。
AudienceStreamでのビジターIDマッピングについての詳細は、Tealiumデータソースを使用したビジター識別を参照してください。
許可するIPアドレス
あなたのSnowflakeアカウントがどのシステムからのリクエストを受け入れるかについて厳格なルールがある場合は、TealiumのIPアドレスをSnowflakeの許可リストに追加してください。
最終更新日 :: 2024年December月11日