概要
OneSignal + Databricks統合は2つのフローをサポートしています:- エクスポート:分析とレポート用にOneSignalメッセージイベントをDatabricksに送信します。
- インポート:Journeysをトリガーしキャンペーンをパーソナライズするために、DatabricksからOneSignalにカスタムイベントを送信します。
OneSignalメッセージイベントをDatabricksにエクスポート
ほぼリアルタイムの分析と可視性のために、OneSignalからDatabricksレイクハウスにすべてのメッセージイベントを同期します。 要件- Professionalプラン以上
- カスタムイベントが有効(イベントインポート用)
- Databricksプラットフォーム:AWS、Azure、またはGCP
- Databricksプラン:Premium以上
- Databricks Unity Catalog(ガバナンスに推奨)
- クエリ用のDatabricks SQL Warehouse
- Delta Lakeイベントテーブル(カスタムイベントインポート用)
1. SQL Warehouseの詳細を収集
Databricksワークスペースにログイン
Warehouseを選択
次の詳細を保存
- Server Hostname
- Port
- HTTP Path

Fivetranセットアップ用のDatabricks SQL接続詳細
2. サービスプリンシパルの作成
Service Principalsページに移動
新しいサービスプリンシパルを追加
サービスプリンシパルに名前を付ける
onesignal-sync)。
サービスプリンシパルを追加するためのモーダル。「Add new」オプションがハイライトされています
3. シークレットの生成
作成されたプリンシパルをクリック
Secretsタブに移動
シークレットを生成

API認証用のOAuthシークレットとクライアントIDを表示するDatabricks「Generate secret」モーダル
4. 権限の割り当て
Catalogに移動してPermissionsタブを開く
Grantをクリック
サービスプリンシパルに次の権限を割り当てる
- USE CATALOG
- USE SCHEMA
- SELECT
- MODIFY
- CREATE SCHEMA
- CREATE TABLE

カスタムカタログ権限が選択されたDatabricksプリンシパルの権限割り当て画面
5. OneSignalを接続
統合をアクティブ化
詳細を入力
- Server Hostname
- Port
- HTTP Path
- Catalog Name
- Schema Name
- Service Principal認証情報(ID + Secret)

カタログ、ホスト名、HTTPパス、およびOAuth認証情報のフィールドを持つOneSignal Databricks構成フォーム
統合を構成
- Sync Frequency: 15分ごとの頻度
- Dataset/Table Names:
onesignal_events_<app-id>およびmessage_eventsとして事前設定(編集可能) - Event Types: 同期するイベントを選択 - すべてまたは必要なものだけを選択
イベントを選択

同期ステータス、データセット構成、および選択されたメッセージイベントタイプを表示するOneSignalイベントエクスポート設定画面
セットアップを完了
6. Databricksでデータを表示
- DatabricksでCatalogを開きます。
- 同期が完了すると、構成されたスキーマが表示されます。
-
message_eventsテーブルにアクセスしてクエリします。
プロダクションスキーマの下にOneSignalメッセージイベントテーブルを表示するDatabricks Catalogビュー
-
テーブルをクリックしてサンプルデータのプレビューを表示します。

同期されたOneSignalイベントフィールドを持つmessage_events_1テーブルのサンプルデータ
support@onesignal.comにお問い合わせください。メッセージイベントとプロパティ
メッセージイベントの種類
プロパティ:event_kind
タイプ: String
メッセージとイベントの種類(例:message.push.received、message.push.sent)。
イベントデータスキーマ
ユーザーが生成する各メッセージイベントには、以下のメタデータがレコードに添付されます。注意事項
- 保存/アクティブ化後の同期は、完了までにさらに15〜30分かかる場合があります。
- 非アクティブ化しても、非アクティブ化後に最終同期が1回行われる場合があります。
- 効率的なデータ同期を確保するために、システムは自動的にステージングデータセットを作成および管理します。これらのデータセットは、
fivetran_{2つのランダムな単語}_stagingのようなパターンで命名され、メインスキーマに統合される前の処理中にデータを一時的に保存します。これらのステージングデータセットは、合理化されたワークフローを維持するために不可欠であり、削除しないでください。自動的に再作成されます。
Databricksからイベントをインポート
Databricksから行動イベントデータをOneSignalに送信して:- ユーザーアクティビティに基づいてJourneysをトリガー
- 行動データに基づいてメッセージングをパーソナライズ
- アウトバウンドメッセージイベント用のEvent Streamsへのアクセス(プランの制限と超過料金が適用されます)
- インバウンドイベント同期用のCustom Eventsへのアクセス(プランの制限と超過料金が適用されます)
- 更新されたアカウントプラン(無料アプリでは利用できません)
- SQL Warehouseまたはコンピュートクラスターを持つDatabricksワークスペース
- 適切な権限を持つPersonal Access Token
- Delta Lake形式で行動データを含むイベントデータテーブル
- Unity Catalog(データガバナンスに推奨)
Databricks Personal Access Tokenを作成
- DatabricksワークスペースのUser Settingsに移動します
- Developerタブをクリックし、次にAccess tokensをクリックします
- Generate new tokenをクリックします
- 「OneSignal Integration」のようなコメントを入力し、有効期限を設定します(90日を推奨)
- 生成されたトークンを保存します(OneSignalに必要です)
SQL Warehouseアクセスを構成
- DatabricksワークスペースのSQL Warehousesに移動します
- OneSignalアクセス用のSQL Warehouseを選択または作成します
- 接続詳細からServer HostnameとHTTP Pathをメモします
- Warehouseがイベントデータテーブルにアクセスできることを確認します
テーブル権限を付与
OneSignalに統合を追加
- Server Hostname:Databricks SQL Warehouseホスト名
- HTTP Path:SQL Warehouse HTTPパス
- Personal Access Token:ステップ1で作成したトークン
- Catalog(オプション):Unity Catalogを使用している場合はUnity Catalog名
イベントデータソースを構成
- Database/Schema:イベントテーブルを含むデータベースまたはスキーマ名
- Table:イベントレコードを含むテーブル名(例:
user_events) - Event Query:イベントデータをフィルタリングまたは変換するオプションのSQLクエリ
- イベント名/タイプ(String)
- ユーザー識別子(String)
- イベントタイムスタンプ(Timestamp)
- 追加のイベントプロパティ
接続をテスト
イベントデータマッピング
をOneSignalのカスタムイベント形式にマッピングします:高度な構成
Unity Catalog統合
ガバナンスされたデータアクセスのためにUnity Catalogを活用します:Delta Lakeの最適化
より良いクエリパフォーマンスのためにイベントテーブルを最適化します:- パーティショニング:より高速な時間ベースのクエリのために日付(
event_date)でパーティション分割 - Z-Ordering:より良いフィルタリングのために
user_idとevent_nameでZ-order - Delta Lake機能:自動最適化のためにliquid clusteringを使用
ストリーミングイベント処理
リアルタイムイベント処理については、次を検討してください:- Structured Streaming:イベントが到着したときに処理
- Delta Live Tables:堅牢なイベント処理パイプラインを構築
- Auto Loader:新しいイベントファイルを継続的に取り込む