Overview
MoEngageでは、Databricksデータベース内のテーブルを介してユーザーとイベントをインポートできます。
輸入の種類
MoEngageは、あなたのDatabricksデータウェアハウスからの次のタイプのインポートをサポートしています:
- 登録ユーザー : MoEngageにすでに登録されているユーザー。
- 匿名ユーザー : MoEngageにまだ登録されていないユーザー。
- イベント (標準およびユーザー定義):MoEngageは、キャンペーンインタラクションイベントやユーザー定義イベントなどの標準イベントをインポートできます。
データを準備する
MoEngageはインポートに特定のテーブルスキーマを必要とせず、テーブル内のすべての列をスキップしたり、MoEngageダッシュボードで個別にマッピングしたりできます。ただし、インポートを設定する前に考慮すべき特定の事項があります。
updated_at
タイムスタンプ列を参照して同期します。この列には、データの変更時刻を正確に反映する名前を自由に付けることができます。テーブル内でこの列に別の名前を付ける場合は、MoEngage ダッシュボードでこのマッピングを別途設定できます。
標準のMoEngageイベントをインポートするには、テーブル内のイベント名がMoEngageの標準イベント名と一致していることを確認してください。
必要なアクセス許可
MoEngageは、MoEngageにデータを取得できるようにするために、あなたのデータベースへの
READ
アクセスを必要とします。既存のデータベースユーザーに以下の権限を付与するか、MoEngage用の新しい専用データベースユーザーを作成できます:
クエリ 1 (必須)
-- スキーマ内のすべてのテーブルにSELECT権限を付与する GRANT SELECT ON SCHEMA `catalog_name`.`schema_name` TO `user@example.com`;
上記のクエリは、カタログ
catalog_name
内のスキーマ
schema_name
にあるすべてのテーブルに対して、ユーザー
user@example.com
に
SELECT
権限を付与します。
「
SELECT
」権限を付与すると、MoEngageはスキーマ内で次のアクションを実行できるようになります:
- スキーマ内のすべてのテーブルからデータを読み取ります。
-
任意のテーブルで
SELECT
クエリを実行します。 - 基礎データを変更する権限がなくても、テーブルの内容を表示できます。
Query 2 (Required)
-- GRANT USE SCHEMA ON SCHEMA `catalog_name`.`schema_name` TO `user@example.com`;
上記のクエリは、カタログ
catalog_name
内のスキーマ
schema_name
にあるすべてのテーブルに対して、メールアドレス
user@example.com
を持つユーザーに
USE SCHEMA
権限を付与します。
この
USE SCHEMA
権限は、ユーザーに次のことを行う能力を付与します:
- スキーマのメタデータにアクセスして表示します。
-
スキーマを彼らのアクティブな作業コンテキストとして設定します(例えば、
USE SCHEMA
を使用します)。 - スキーマリストでスキーマを表示します。
- 完全修飾オブジェクト名を参照する際には、スキーマ名を使用してください。
クエリ 1 とクエリ 2 の両方を使用すると、権限は次のように機能します:
-
スキーマを使用する
: この権限は、指定されたスキーマにアクセスし、参照するために必要です。 -
SELECT
: この権限は、そのスキーマ内のテーブルからデータを読み取ることを許可します。 -
ユーザーは、
USE SCHEMA
権限がない場合、スキーマにアクセスできません。たとえそのテーブルに対してSELECT
権限を持っていてもです。 クエリ 2 は、スキーマアクセスを有効にするためにUSE SCHEMA
権限を明示的に付与します。
すべてのクエリにおいて、以下のプレースホルダ値をあなたの特定の詳細で置き換えることを確認してください:
-
<catalog_name> : カタログの名前。
-
<schema_name> : データベース/スキーマの名前。
-
<user@example.com> : トークンを作成したユーザーのメールID。
日付タイプ属性をインポート
データ型属性をインポートするには、追加の手順が必要です。詳細については、 こちら を参照してください。
Databricksからのインポートを設定する
info |
前提条件
|
Databricks Importsを設定するには、次の手順を実行します:
- MoEngageダッシュボードの左側のナビゲーションメニューで、 データ > データインポート をクリックします。
- データインポート Data imports ページで、 Data warehouses をクリックします。
-
右上隅の
+ インポート
をクリックし、
ユーザー
または
イベント
を選択して新しいインポートを作成します。
- クリックして Databricks タイルを選択します。
-
クリックして
続行
します。
ステップ 1: Databricks 接続とテーブル ソースを選択します
インポート名
インポートを特定するための名前をインポートダッシュボードに入力してください。選択されたインポートの種類に基づいて、次のステップが異なる場合があります:
既存のイベントを選択するか、新しいイベントを作成できます。単一のテーブルに複数のイベントが保存されている場合、MoEngageは イベント名 列に基づいてインポートする一致する行を決定します。 イベント名 列の値は、選択したイベントによって決まります。これらのイベントの中には、異なる 表示名 と イベント名 を持つものもあります。イベント情報は常に データ管理 ページで確認できます。例えば、イベント アプリ/サイトが開かれました は、 イベント名 列の値が
MOE_APP_OPENED
である必要があります:
新しいイベントを作成するには、次の手順を実行します:
- イベントを選択 リストの最後にある + イベントを作成 をクリックします。新しいイベントの作成ダイアログボックスが表示されます。
-
イベント名
ボックスに、イベントのユニークな名前を入力します。デフォルトでは、表示名はイベント名と同じになります。
このイベントや他のMoEngageイベントを表示または編集するには、 データ管理 ページに移動できます。
info |
情報 新しく作成されたイベントは、初回のインポートが成功するまで データ管理 ページに表示されません。 |
Import Source
この最初のステップでは、 ソースとフォーマット 、使用するDatabricks接続とインポートするテーブルを指定する必要があります。 始めるには、次のステップを実行してください:
-
「
Databricks接続
」リストから、このインポートに使用する接続を選択してください。
まだDatabricks接続を作成していない場合は、Databricks接続リストの最後にある + 接続を追加 をクリックすると、設定のためにアプリマーケットプレイスにリダイレクトされます。DatabricksウェアハウスをMoEngageに接続する方法については、 こちら で詳しく学ぶことができます。 - Databricks接続を選択した後、t he スキーマ/データセット と テーブル/ビュー のリストが表示されます。
-
In the
スキーマ/データセット
t
、スキーマ/データセットを選択してください。
注意 :スキーマが正しくロードされない場合は、Prerequisitesに記載されている必要な権限がMoEngageに付与されていることを確認してください。
- In the テーブル/ビュー データをインポートするためのテーブル/ビューを選択してください。
イベントインポート
上記のステップに加えて、MoEngageは複数のイベントを含むテーブルに対して追加のサポートを提供します。テーブルに複数のイベントが含まれている場合は、まず プレビュー を行い、その後 テーブルに複数のイベントが含まれている チェックボックスを選択する必要があります。
MoEngageは、 イベント名 列の値を使用して、インポートする必要がある行をフィルタリングします。選択したイベント名と一致する行のみをインポートします。テーブル内の既存の列をイベント名列として指定できます。この列を選択し、データを再度プレビューした後、インポートを進める前にレビューのためにフィルタリングされた行が表示されます:
テーブルをプレビューした後、次のステップである インポート設定とアクション に進みます。
ステップ 2: 列を MoEngage 属性にマッピングする
このステップでは、テーブルの列をMoEngageに存在する属性にマッピングする必要があります。すべての列が上下に表示されています:
- カラム名 : これはマッピングされるカラム名を指定します。カラム名の下に、MoEngageはあなたの参照用に(前のステップで取得したテーブルの最初の行から選ばれた)サンプル値も表示します。
- マップ属性 : これは、テーブル列をマッピングしたいMoEngage属性を指定します。新しい属性を作成することもできます。いくつかの属性は複数のデータ型からの取り込みをサポートしているため、列のデータ型も選択する必要があります。強 datetime 列については、フォーマットを選択する必要があります。詳細については、 こちら をご覧ください。
- アクション : 列をスキップすることを選択できます。スキップされた列はインポートされません。
インポートの種類に応じて、いくつかの必須マッピングがあります:
マッピング | Description |
---|---|
ユーザーID | あなたのテーブルには、システム内のユーザーアカウントを特定するために必要な一意のユーザー識別子を含む列を追加してください。 |
更新日時 |
MoEngageは、この列を使用して、最後の同期以降に追加または更新された行を特定します。このタイムスタンプ(日付+時間)がUTCタイムゾーンであることを確認する必要があります。この列の型は
サポートされている 日付時刻 フォーマットの完全なリストについては、この セクション を参照してください。 |
マッピング | Description |
---|---|
匿名ID | ユーザーの識別子として、テーブルの列(メール、携帯番号など)にマークを付ける必要があります。 |
更新日時 |
MoEngageは、この列を使用して、最後の同期以降に追加または更新された行を判断します。このタイムスタンプ(日時)がUTCタイムゾーンであることを確認する必要があります。この列の型は
サポートされている datetime フォーマットの完全なリストについては、この セクション を参照してください。 |
マッピング | Description |
---|---|
ユーザーID | あなたのテーブルには、システム内のユーザーアカウントを識別するユニークなユーザー識別子を含む列が必要です。ユーザーIDが空のユーザーは、自動的に匿名ユーザーとしてインポートされます。 |
匿名ID | ユーザーの識別子として、テーブルの列(メール、携帯電話番号など)にマークを付ける必要があります。 |
更新日時 |
MoEngageは、この列を使用して、最後の同期以来追加または更新された行を特定します。このタイムスタンプ(日付+時間)がUTCタイムゾーンであることを確認する必要があります。この列の型は
サポートされている日付時刻形式の完全なリストについては、この セクション を参照してください。 |
マッピング | Description |
---|---|
ユーザーID | この列は、MoEngageのユーザーIDをイベントに一致させるために使用されます。 |
イベントの時間 |
イベントが発生した日時(日時+時間)を含む列をマッピングすることを確認する必要があります。このタイムスタンプ(日時+時間)がUTCタイムゾーンであることを確認する必要があります。この列の型は
サポートされている日付時刻フォーマットの完全なリストについては、この セクション を参照してください。 |
必須のマッピングがマークされると、それはマッピングテーブルの列名に反映され、もはやその列をスキップ可能としてマークすることはできません。
新しいイベントと同様に、新しいユーザー属性を作成することもできます。そうするには:
-
「
+ 属性を作成
」を
属性を選択
リストからクリックします。新しい属性を作成するダイアログボックスが表示されます。
- 属性名 ボックスに、属性の名前を入力してください。
- 「 データ型 」リストからデータ型を選択してください。このデータ型と既存の属性は、 データ管理 ページで編集できます。
info |
Information 新しく作成されたユーザー属性は、初回インポートが成功するまで データ管理 ページには表示されません。 |
マニフェストファイル
オプションで、これらの列を自動的にマッピングするために、 マニフェストファイル をアップロードすることを選択できます。マニフェストファイルをアップロードするには:
-
マッピングテーブルの右上にある
マッピングファイルをアップロード
をクリックしてください。
-
アップロードマッピングダイアログボックスで、マニフェストファイルをアップロードします。
- クリックして 完了 。
あなたのマッピングはそれに応じて自動設定されています。MoEngage以外の属性を持つ列は空白のままとなり、列を手動でマッピングするか、新しい属性を作成することができます。マニフェストファイルが 期待される規約 に従っていることを確認してください。
マニフェストファイルにテーブルにない追加の列がある場合、それらは無視されます。また、既存のテーブル列のマッピングがマニフェストファイルに存在しない場合、MoEngageはマッピングを空白のままにしておきますので、手動で設定することができます。
info |
Information マニフェストファイルの列が存在しないMoEngage属性にマッピングされている場合、マッピングは空白になり、UIから新しい属性を手動で作成し、その後マッピングする必要があります。 |
オブジェクトデータ型のサポート
DatabricksでもObjectデータ型がサポートされています。
Databricksに互換性のあるJSONデータを保存する
Databricks内にJSONデータを保存するには、列のデータ型を VARIANT 型に変更する必要があります。詳細については、 こちら を参照してください。Databricksに保存されたJSONは有効なJSONである必要があります。さもなければ、値はJSONとして書き込まれません。ここに例のJSON列があります:
{ "Designation": "SSE", "Palace": "Banglore", "age": 30, "name": "Shasha" }
Databricksを介してJSONデータをインポートする
JSON データは、Databricks の列にオブジェクトタイプとして指定された MoEngage プラットフォームの既存の属性を関連付けることによってインポートできます。
新しいオブジェクト属性は、 属性を選択 リストの 属性をマップ 列で 新しい属性を作成 をクリックすることで作成できます。
info |
Information MoEngageは、ネストされた属性とのマッピングをサポートしていません。最上位の属性のみがマッピング可能です。 |
ユーザーをセグメントとして保存
ユーザーをインポートする際、MoEngageのカスタムセグメントに含めることができます。インポートされたユーザーは、各同期ごとにこのセグメントに一貫して追加され、ユーザーは削除されることはありません。インポートしたユーザーをカスタムセグメントとして保存するには、次の手順を実行します:
-
カスタムセグメントとして保存
トグルをオンにして、インポートしたユーザーをカスタムセグメントに保存し、同じユーザーに合わせたキャンペーンを送信します。
- 「 セグメント名 」ボックスに、セグメントの名前を入力してください。
- ユーザーIDの 列 リストで、テーブルの識別子列を選択してください。
インポート動作
ユーザーインポートの場合、既存のユーザーのみを更新することも選択できます。これは、新しいユーザーを作成せずにMoEngageでユーザーの属性を一括更新したいときに役立ちます。これを有効にするには、 インポート動作 の下にある 既存のユーザーのみを更新 チェックボックスを選択してください。
インポート通知を送信する
インポートのステータスについて、メールで通知を受け取ることを選択できます。それを行うために:
- 送信インポートステータスを チェックボックスを選択してください。
-
リストから
メールIDを選択
し、メールIDを選択してください。ステータスメールを送信するために最大10件のメールを選択できます。
インポートステータスのメールには、以下のイベントに関する情報が含まれています:
- インポートが作成されました
- インポートが成功しました
- インポートに失敗しました
すべてのマッピングが完了したら、 次へ クリックしてください。
ステップ 3: インポート頻度を選択する
このステップでは、テーブルと同期するタイミングを定義する必要があります。以下の種類のインポートをサポートしています:
- 一度限り : 可能な限り早く、または後の日時(スケジュールされた)にインポートを実行できます。インポート基準に一致するすべての既存の行がインポートされます。
- 定期的 : インポートを毎時、毎日、毎週、または毎月実行することができます。また、間隔や高度な設定を使用することも可能です。
オプションとして、インポートが指定された発生回数のセットの後に終了するか、特定の日付で終了するかを指定できます。準備ができたら 完了 をクリックしてください。
warning |
警告 初期インポート時に、テーブルから一致するすべての行がインポートされます。その後のインポートには、変更された行のみが含まれます。 |
重複インポート
重複インポートは、次の条件を満たす場合に考慮されます:
- ユーザー/イベントのインポートタイプは同じです。
- イベント名/ 登録済み/ 匿名/ すべてのユーザーのインポートサブタイプは同じです。
- イベント名/ 登録済み/ 匿名/ 同じ Databricks 接続を持つすべてのユーザーのインポートタイプ。
- イベント名/ 登録済み/ 匿名/ スキーマ/ データセットおよびテーブル/ ビューのすべてのユーザーインポートタイプは同じです。
FAQ
回答: はい、MoEngageのDatabricksインポートはDatabricks Unity Catalogに基づいています。したがって、セットアッププロセスは標準のDatabricks接続と同じです。
回答: いいえ、互換性に関する特定のバージョン要件はありません。
回答:
Databricksでは、テーブル作成時に列の型を
VARIANT
にする必要があります。
回答: MoEngageは保存された時間をUTCとして解釈します。Databricksにはローカル時間の概念がないためです。DatabricksはタイムスタンプをUTCで保存することを推奨しています。