コンテンツにスキップ

Databricks Delta Sharing

Databricks Delta Sharingを使用すると、Brazeのライブエンゲージメントデータやキャンペーンデータをお使いのDatabricks環境に安全に共有できます。この記事では、データプロバイダーとしてのBrazeから受信者としてのDatabricksアカウントへの共有の仕組みと、共有テーブルのクエリ方法について説明します。

Databricks Delta SharingはBrazeデータ配信の一部です。データ配信オプションの全体的な概要については、データ配信を参照してください。

前提条件

要件 説明
利用可能条件 米国クラスターでホストされている顧客が対象です。Delta Sharingに関心があるが米国クラスターでホストされていない場合は、カスタマーサクセスマネージャーにお問い合わせください。
Brazeワークスペースの権限 データ共有を表示するには、Currents連携の表示権限が必要です。Deltaシェアの作成、更新、削除を行うには、Currents連携の編集権限が必要です。

Delta Sharingのセットアップ

Databricksでは、データプロバイダーとデータ受信者の間でデータ共有が行われます。Brazeアカウントは共有を作成して送信するデータプロバイダーであり、Databricksアカウントはクエリ可能なカタログを作成するために共有を利用するデータ受信者です。詳細については、Databricksのドキュメント「reading data shared using Databricks-to-Databricks Delta Sharing (for recipients)」を参照してください。

ステップ1:Brazeから共有を設定する

  1. Brazeで、パートナー連携 > Data Sharing > Databricks Delta Sharing に移動します。
  2. Databricks共有識別子を入力します。
  3. 完了したら、Create Datashare を選択します。Brazeが共有をDatabricksアカウントに送信します。

ステップ2:Databricksでカタログを作成する

  1. 数分後、Databricksアカウントでインバウンド共有を受信します。
  2. インバウンド共有を使用して、テーブルの表示とクエリを行うためのカタログを作成します。例:

     CREATE CATALOG [IF NOT EXISTS] <catalog-name> USING SHARE braze.<share-name>;
    
  3. 適切なユーザーとグループが新しいカタログをクエリできるように、権限を付与します。

使用方法と可視化

データ共有がプロビジョニングされたら、受信した共有からカタログを作成して、共有テーブルがDatabricksワークスペースに表示され、そこに保存されている他のデータと同様にクエリ可能になるようにします。共有データは読み取り専用のままです。

Currentsと同様に、Databricks Delta Sharingを使用して以下のことができます。

  • 複雑なレポートの作成
  • アトリビューションモデリングの実行
  • 社内での安全な共有
  • 未加工のイベントデータやユーザーデータをCRM(Salesforceなど)にマッピング
  • その他多数

Databricksで利用可能なテーブルとカラムの完全なリストについては、Databricksの生テーブルスキーマをダウンロードしてテキストファイルとして確認してください。このファイルはDatabricks Delta Sharingスキーマを反映しています(例:取り込み時間のDB_CREATED_AT)。Snowflakeの生テーブルスキーマや、Snowflakeの命名とフィールドを記述するSQLテーブルリファレンスとは互換性がありません。

ユーザー IDスキーマ

ユーザー IDに関するBrazeとDatabricksの命名規則の違いについて、以下の点に注意してください。

Brazeスキーマ Databricksスキーマ 説明
braze_id USER_ID Brazeが自動的に割り当てる一意の識別子です。
external_id EXTERNAL_USER_ID Brazeで設定するユーザープロファイルの一意の識別子です。

重要な情報と制限事項

利用可能な環境

Databricks Delta Sharing は、米国クラスターでホストされているお客様のみご利用いただけます。追加リージョンのサポートは現在進行中です。Delta Sharing にご興味があり、米国クラスターでホストされていない場合は、カスタマーサクセスマネージャーにお問い合わせください。

破壊的変更と非破壊的変更

非破壊的変更

非破壊的変更はいつでも発生する可能性があり、一般的に追加の機能を提供します。非破壊的変更の例:

  • 新しいテーブルまたはビューの追加
  • 既存のテーブルまたはビューへのカラムの追加

破壊的変更

可能な限り、破壊的変更の前にはアナウンスと移行期間が設けられます。破壊的変更の例:

  • テーブルまたはビューの削除
  • 既存のテーブルまたはビューからのカラムの削除
  • 既存のカラムの型または NULL 許容の変更

リテンションポリシー

対応する USERS_*_SHARED ビューで、各イベントの直近2年分のデータに対してクエリを実行できます。

一般データ保護規則(GDPR)コンプライアンス

Braze に保管されているほぼすべてのイベントレコードには、ユーザーの個人を特定できる情報 (PII) を表すいくつかのフィールドが含まれています。一部のイベントには、メールアドレス、電話番号、デバイスID、言語、性別、および位置情報が含まれる場合があります。ユーザーの削除依頼がBrazeに送信された場合、これらのユーザーに属するイベントのPIIフィールドを無効化します。この方法では、イベントの履歴レコードは削除されませんが、イベントが特定の個人に結び付けられることは一切ありません。

共有データのクエリ:TIME とクエリパフォーマンス

データ共有ビュー(例:USERS_BEHAVIORS_CUSTOMEVENT_SHARED)のイベントデータは、TIME フィールドでクラスタリングされています。イベントの発生時刻でフィルタリングする場合は、TIME を優先フィルターとして使用してください。TIME を使用して行を制限するクエリは、DB_CREATED_AT でフィルタリングするクエリよりも一般的にパフォーマンスが高くなります。これは、クラスタリングがイベント時間に沿っているためです。

フィールド 意味
TIME イベントが発生した時点の Unix タイムスタンプ。発生時刻でフィルタリングする場合はこちらを優先してください。
DB_CREATED_AT 行が Databricks に読み込まれたタイムスタンプ(取り込み時刻)。

クエリの速度、パフォーマンス、コスト

データに対して実行するクエリの速度、パフォーマンス、コストは、使用する SQL ウェアハウスのサイズに依存します。アクセスするデータ量によっては、クエリを正常に完了するためにより大きなウェアハウスが必要になる場合があります。詳細については、Databricks のドキュメント「SQL ウェアハウスの作成と設定」(クラスターサイズとスケーリングを含む)を参照してください。

New Stuff!