アドバンストKDPはKlaviyoの標準マーケティングアプリケーションには含まれておらず、関連機能にアクセスするにはサブスクリプションが必要です。このプランの購入方法については、請求ガイドをご覧ください。

Databricksのインポートを設定する

概要:次の手順に従って、DatabricksをKlaviyoへのインポート用に準備してください。必要なスキーマ(カタログ内)を作成し、Klaviyo専用のアカウントとアクセストークンを設定し、必要な権限を割り当て、設定を検証してから、Klaviyoでインポート同期を作成します。

重要:Databricksは、KlaviyoへのデータのインポートとKlaviyoデータのDatabricksへのエクスポートの両方をサポートしています。インポートとエクスポートを個別に設定してください。

  • プロファイルとイベントはKlaviyoにインポートし、Databricksにエクスポートできます。
  • Unity Catalog が必要です。Hive metastore (HMS) を使用する Databricks インスタンスに接続するには、Hive metastore federation をご検討ください。

Klaviyo でのデータウェアハウスのインポートの仕組み(スキーマ構造、必要なテーブル、フィールド マッピングを含む)の詳細については、Klaviyo でのデータウェアハウスのインポートの仕組み および データウェアハウスのイベント インポートについて理解する。 を参照してください。

Klaviyoデータの宛先としてDatabricksを設定するには、KlaviyoデータをDatabricksにエクスポートする方法をご覧ください。


開始する前に、Klaviyoがクエリを実行するDatabricks SQLウェアハウスを選択してください。スキーマを作成してアクセス権を付与するには権限が必要です。Databricks管理者のサポートを受けることもできます。

1)必要なスキーマを作成する

Databricksでは、スキーマ(データベースと呼ばれることもあります)はカタログ内に存在します。この例ではmainカタログを使用しています。以降の手順全体で、これをご自身のカタログに置き換えてください。

sql
USE CATALOG main;  -- or your organization’s designated catalog
CREATE SCHEMA IF NOT EXISTS KLAVIYO_IMPORT_FROM_DWH;
CREATE SCHEMA IF NOT EXISTS KLAVIYO_TMP;
  • KLAVIYO_IMPORT_FROM_DWH注:このスキーマで作成されたテーブルとビューは、新しい同期を設定する際に選択できるようになります。
  • KLAVIYO_TMP: 同期中に使用される一時的なデータ/ステージング データ。

注:Klaviyoで接続をテストする前に、KLAVIYO_IMPORT_FROM_DWHでインポートしたいデータを含むテーブルまたはビューを少なくとも1つ作成してください。上記でリンクされているインポートガイドを使用して、その識別子とタイムスタンプフィールドを準備してください。


2) Klaviyoサービスアカウントとアクセストークンを作成する

Klaviyo は、パーソナル アクセス トークン(PAT)を持つ専用アカウントを使用して Databricks に対して認証します。可能な場合は非人間(サービス)アカウントを使用し、PAT は安全に保管してください(例: パスワードマネージャーまたはシークレットストア)。初期設定時にこのトークンを Klaviyo に提供します。

2.1 アカウントを作成

この外部連携で Klaviyo のみが使用する Databricks ワークスペースユーザーまたはサービスプリンシパルを作成します。

2.2 個人用アクセストークンを生成する

重要:PAT は機密情報として取り扱ってください。トークンを持っている人は誰でも、関連付けられたアカウントの権限で Databricks にアクセスできます。


3)必要な権限を割り当てる

Klaviyo用に作成したDatabricksのIDに、カタログとステップ1で作成したスキーマへのアクセス権を付与します。klaviyo_service_userをDatabricksのユーザー名またはサービスプリンシパルのアプリケーションIDに置き換え、スキーマ名の先頭にカタログを付けてください(例:main)。

スキーマ

最低限必要な権限

目的

KLAVIYO_TMP

ALL PRIVILEGES または USE SCHEMA、MODIFY、SELECT の組み合わせと CREATE TABLE

同期中に、Klaviyo が一時テーブルを作成および管理できるようにします。

KLAVIYO_IMPORT_FROM_DWH

USE SCHEMA, SELECT

Klaviyo がテーブルとビューを読み取れるようにします。

sql
-- Grant access to the catalog
GRANT USE CATALOG ON CATALOG main TO `klaviyo_service_user`;

-- Grant permissions on temporary schema
GRANT ALL PRIVILEGES ON SCHEMA main.KLAVIYO_TMP TO `klaviyo_service_user`;

-- OR, grant granular privileges:
GRANT USE SCHEMA, MODIFY, SELECT, CREATE TABLE ON SCHEMA main.KLAVIYO_TMP TO `klaviyo_service_user`;

-- Grant read-only access to import schema
GRANT USE SCHEMA, SELECT ON SCHEMA main.KLAVIYO_IMPORT_FROM_DWH TO `klaviyo_service_user`;

Klaviyoに入力するHTTP Pathを持つSQLウェアハウスに対して、同じDatabricks IDにCAN USE権限を付与してください。スキーマ権限では、ウェアハウスへのアクセスは付与されません。Databricks SQLウェアハウスの権限を参照してください。

ベストプラクティス: 最小権限の原則を適用し、必要な権限のみを付与してください。


4)設定を確認する(任意)

4.1 スキーマが存在することを確認する

Databricks SQL ノートブックまたはエディターで実行します:

sql
SHOW SCHEMAS IN main;  -- replace 'main' with your catalog if different

次のように表示されます:

auto
klaviyo_import_from_dwh
klaviyo_tmp

4.2 認証をテスト(PAT を使用)

Klaviyo に提供する予定の同じトークンで Databricks CLI を使用します:

bash
# Set your token and host (example for AWS)
export DATABRICKS_HOST="https://<your-workspace>.cloud.databricks.com"
export DATABRICKS_TOKEN="<your-PAT>"

# Run a simple API call
databricks current-user me

想定される結果: ユーザーまたはサービス プリンシパルの詳細(例:表示名、ユーザー ID)を示す JSON 出力。HTTP 403 または認証エラーが発生した場合は、トークンとホスト URL を確認してください。

4.3 各スキーマの権限を確認する

sql
SHOW GRANTS ON CATALOG main;
SHOW GRANTS ON SCHEMA main.klaviyo_tmp;
SHOW GRANTS ON SCHEMA main.klaviyo_import_from_dwh;

Klaviyo用に作成したDatabricks IDに、カタログ上でUSE CATALOG、KLAVIYO_IMPORT_FROM_DWH上でUSE SCHEMAとSELECT、およびステップ3に記載されている一時スキーマの権限が付与されていることを確認してください。また、SQLウェアハウスに対するCAN USE権限も確認してください。

4.4 作成、書き込み、読み取り操作を検証する

KLAVIYO_TMP内のklaviyo_permissions_testには、未使用のテーブル名を使用してください。example_source_tableを、インポート予定のテーブルまたはビューに置き換えてください。

sql
-- Test create, write, read, and drop in KLAVIYO_TMP
USE SCHEMA main.klaviyo_tmp;
CREATE TABLE klaviyo_permissions_test (id INT);
INSERT INTO klaviyo_permissions_test VALUES (1);
SELECT * FROM klaviyo_permissions_test;
DROP TABLE klaviyo_permissions_test;

-- List sources and test reading a table or view you plan to import
USE SCHEMA main.klaviyo_import_from_dwh;
SHOW TABLES;
SELECT * FROM example_source_table LIMIT 1;

ヒント:

  • Klaviyo と共有するのと同じ ID と PAT を使用して、これらの検証手順を実行します。
  • 監査/トラブルシューティングのために、SQL の GRANT ステートメントと検証出力を保持してください。
  • PAT は定期的に、またスタッフ変更後にローテーションしてください。

5)Databricksを接続して、インポート同期を作成する

Databricksを設定したら、Klaviyoでインポート設定を開いてください。

  1. Klaviyoで、[アドバンスト] > [データ管理] > [同期]と進みます。
  2. すでに接続がある場合は、[同期を作成]をクリックしてください。
  3. [データウェアハウスからデータをインポート] を選択します。
  4. データウェアハウスとして Databricks を選択します。
  5. [Databricks に接続] をクリックします。

プロンプトが表示されたら、次の接続の詳細を入力してください:

フィールド

説明

確認場所

サーバーホスト名

https://や末尾のスラッシュなしのDatabricksワークスペースのホスト名。

Databricks にログインしているときに、ブラウザのアドレス バーで見つかります。
https://<your-workspace>.cloud.databricks.com

例: abc-12345678.cloud.databricks.com

HTTP パス

クエリに使用する SQL Warehouse の HTTP パス。

Databricks UI で:

  1. SQL Warehouses に移動します。
  2. 使用する予定のウェアハウスを選択します。
  3. 接続の詳細の下にある HTTP パス をコピーします。

例: /sql/1.0/warehouses/1234abcd5678efgh

カタログ

Klaviyo スキーマを含むカタログ(例:main)。

次を使用して検証します:

SHOW CATALOGS;

アクセストークン

ステップ 2 で作成した個人用アクセス トークン(PAT)。

セットアップ中はトークンを安全に保管し、貼り付けます。

接続の詳細を入力したら、接続をテストし、インポート同期を完了してください。

  1. [次へ] をクリックします。接続をテストで、テストをクリックします。テストが失敗した場合は、接続の詳細または権限を修正してから、再度テストしてください。
  2. テストが成功したら、次へをクリックしてください。続行するには、KLAVIYO_IMPORT_FROM_DWHにアクセス可能なテーブルまたはビューが少なくとも1つ必要です。
  3. 同期の名前を入力し、インポートするテーブルまたはビューを選択してください。プロファイルまたはイベントと、頻度:手動またはスケジュール実行を選択してください。スケジュール同期の場合は、間隔、開始日、開始時刻、タイムゾーンを設定してください。[次へ] をクリックします。
  4. プロパティをマッピングで、変更検出に使用するタイムスタンプ列を選択し、データタイプに必要なマッピングを完了してください。イベント同期の場合は、イベントタイプとイベントタイムスタンプも設定してください。変更の検出には別の列を使用してください。完了をクリックして、接続を保存し、インポートの同期を行います。

保存したインポートの同期は、同期中に表示されます。スケジュール同期では、選択した頻度が使用されます。手動同期の場合は、Databricks接続を開き、同期のアクションメニューから手動で実行を選択して、データのインポートを開始してください。

この記事は役に立ちましたか?
この記事へのフィードバックは、上記のボタン・記入欄よりご提供ください。 サポートへの連絡方法.

Klaviyo の詳細を見る

コミュニティ
同業者、パートナー、Klaviyo のエキスパートとつながり、インスピレーションを得たり、インサイトを共有したり、あらゆる質問への回答を得たりできます。
パートナー
特定のタスクや継続的なマーケティング管理のためのサポートを、Klaviyo 認定エキスパートに依頼しましょう。
サポート

アカウントからサポートにアクセスしてください。

メールサポート (無料トライアルと有料アカウント) 24 時間 365 日利用可能

チャット/バーチャル アシスタント
利用可否は地域およびプランタイプによって異なります