Databricks インポート

Overview

MoEngageでは、Databricksデータベース内のテーブルを介してユーザーとイベントをインポートできます。

輸入の種類

MoEngageは、あなたのDatabricksデータウェアハウスからの次のタイプのインポートをサポートしています:

  • 登録ユーザー : MoEngageにすでに登録されているユーザー。
  • 匿名ユーザー : MoEngageにまだ登録されていないユーザー。
  • イベント (標準およびユーザー定義):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

前提条件

  • MoEngageアプリマーケットプレイスに関連する権限を持つ Databricks接続 が設定されていることを確認してください。
  • セキュリティポリシーで私たちのIPをホワイトリストに追加する必要がある場合は、 こちら を参照してください。
  • アカウントに対して オブジェクトデータタイプ のサポートを有効にする必要があります - オプションです。

Databricks Importsを設定するには、次の手順を実行します:

  1. MoEngageダッシュボードの左側のナビゲーションメニューで、 データ > データインポート をクリックします。
  2. データインポート Data imports ページで、 Data warehouses をクリックします。
  3. 右上隅の + インポート をクリックし、 ユーザー または イベント を選択して新しいインポートを作成します。
  4. クリックして Databricks タイルを選択します。
  5. クリックして 続行 します。

ステップ 1: Databricks 接続とテーブル ソースを選択します

インポート名

インポートを特定するための名前をインポートダッシュボードに入力してください。選択されたインポートの種類に基づいて、次のステップが異なる場合があります:

ユーザーインポート イベントのインポート
登録ユーザーまたは匿名ユーザーのインポートを選択できるようになりました。また、両方を一緒にインポートすることもできます:
image (29).png

Import Source

この最初のステップでは、 ソースとフォーマット 、使用するDatabricks接続とインポートするテーブルを指定する必要があります。 始めるには、次のステップを実行してください:

  1. Databricks接続 」リストから、このインポートに使用する接続を選択してください。
    まだDatabricks接続を作成していない場合は、Databricks接続リストの最後にある + 接続を追加 をクリックすると、設定のためにアプリマーケットプレイスにリダイレクトされます。DatabricksウェアハウスをMoEngageに接続する方法については、 こちら で詳しく学ぶことができます。
  2. Databricks接続を選択した後、t he スキーマ/データセット テーブル/ビュー のリストが表示されます。
  3. In the スキーマ/データセット t 、スキーマ/データセットを選択してください。
    注意 :スキーマが正しくロードされない場合は、Prerequisitesに記載されている必要な権限がMoEngageに付与されていることを確認してください。


  4. In the テーブル/ビュー データをインポートするためのテーブル/ビューを選択してください。

イベントインポート

上記のステップに加えて、MoEngageは複数のイベントを含むテーブルに対して追加のサポートを提供します。テーブルに複数のイベントが含まれている場合は、まず プレビュー を行い、その後 テーブルに複数のイベントが含まれている チェックボックスを選択する必要があります。

MoEngageは、 イベント名 列の値を使用して、インポートする必要がある行をフィルタリングします。選択したイベント名と一致する行のみをインポートします。テーブル内の既存の列をイベント名列として指定できます。この列を選択し、データを再度プレビューした後、インポートを進める前にレビューのためにフィルタリングされた行が表示されます:

テーブルをプレビューした後、次のステップである インポート設定とアクション に進みます。

ステップ 2: 列を MoEngage 属性にマッピングする

このステップでは、テーブルの列をMoEngageに存在する属性にマッピングする必要があります。すべての列が上下に表示されています:

  1. カラム名 : これはマッピングされるカラム名を指定します。カラム名の下に、MoEngageはあなたの参照用に(前のステップで取得したテーブルの最初の行から選ばれた)サンプル値も表示します。
  2. マップ属性 : これは、テーブル列をマッピングしたいMoEngage属性を指定します。新しい属性を作成することもできます。いくつかの属性は複数のデータ型からの取り込みをサポートしているため、列のデータ型も選択する必要があります。強 datetime 列については、フォーマットを選択する必要があります。詳細については、 こちら をご覧ください。
  3. アクション : 列をスキップすることを選択できます。スキップされた列はインポートされません。

インポートの種類に応じて、いくつかの必須マッピングがあります:

arrow_drop_down ユーザーインポート
登録ユーザー 匿名ユーザー すべてのユーザー
マッピング Description
ユーザーID あなたのテーブルには、システム内のユーザーアカウントを特定するために必要な一意のユーザー識別子を含む列を追加してください。
更新日時

MoEngageは、この列を使用して、最後の同期以降に追加または更新された行を特定します。このタイムスタンプ(日付+時間)がUTCタイムゾーンであることを確認する必要があります。この列の型は TIMESTAMP であるべきです。

サポートされている 日付時刻 フォーマットの完全なリストについては、この セクション を参照してください。

arrow_drop_down イベントのインポート
マッピング Description
ユーザーID この列は、MoEngageのユーザーIDをイベントに一致させるために使用されます。
イベントの時間

イベントが発生した日時(日時+時間)を含む列をマッピングすることを確認する必要があります。このタイムスタンプ(日時+時間)がUTCタイムゾーンであることを確認する必要があります。この列の型は TIMESTAMP である必要があります。インポートされたイベントの イベント時間 は、あなたのMoEngageダッシュボード設定で選択されたタイムゾーンに変換されます:

サポートされている日付時刻フォーマットの完全なリストについては、この セクション を参照してください。

必須のマッピングがマークされると、それはマッピングテーブルの列名に反映され、もはやその列をスキップ可能としてマークすることはできません。

新しいイベントと同様に、新しいユーザー属性を作成することもできます。そうするには:

  1. + 属性を作成 」を 属性を選択 リストからクリックします。新しい属性を作成するダイアログボックスが表示されます。
    CreateNewAttribute.png
  2. 属性名 ボックスに、属性の名前を入力してください。
  3. データ型 」リストからデータ型を選択してください。このデータ型と既存の属性は、 データ管理 ページで編集できます。
info

Information

新しく作成されたユーザー属性は、初回インポートが成功するまで データ管理 ページには表示されません。

マニフェストファイル

オプションで、これらの列を自動的にマッピングするために、 マニフェストファイル をアップロードすることを選択できます。マニフェストファイルをアップロードするには:

  1. マッピングテーブルの右上にある マッピングファイルをアップロード をクリックしてください。
  2. アップロードマッピングダイアログボックスで、マニフェストファイルをアップロードします。
  3. クリックして 完了

あなたのマッピングはそれに応じて自動設定されています。MoEngage以外の属性を持つ列は空白のままとなり、列を手動でマッピングするか、新しい属性を作成することができます。マニフェストファイルが 期待される規約 に従っていることを確認してください。

マニフェストファイルにテーブルにない追加の列がある場合、それらは無視されます。また、既存のテーブル列のマッピングがマニフェストファイルに存在しない場合、MoEngageはマッピングを空白のままにしておきますので、手動で設定することができます。

info

Information

マニフェストファイルの列が存在しないMoEngage属性にマッピングされている場合、マッピングは空白になり、UIから新しい属性を手動で作成し、その後マッピングする必要があります。

オブジェクトデータ型のサポート

DatabricksでもObjectデータ型がサポートされています。

Databricksに互換性のあるJSONデータを保存する

Databricks内にJSONデータを保存するには、列のデータ型を VARIANT 型に変更する必要があります。詳細については、 こちら を参照してください。Databricksに保存されたJSONは有効なJSONである必要があります。さもなければ、値はJSONとして書き込まれません。ここに例のJSON列があります:

JavaScript
{ "Designation": "SSE", "Palace": "Banglore", "age": 30, "name": "Shasha" }

Databricksを介してJSONデータをインポートする

JSON データは、Databricks の列にオブジェクトタイプとして指定された MoEngage プラットフォームの既存の属性を関連付けることによってインポートできます。

新しいオブジェクト属性は、 属性を選択 リストの 属性をマップ 列で 新しい属性を作成 をクリックすることで作成できます。

info

Information

MoEngageは、ネストされた属性とのマッピングをサポートしていません。最上位の属性のみがマッピング可能です。

ユーザーをセグメントとして保存

ユーザーをインポートする際、MoEngageのカスタムセグメントに含めることができます。インポートされたユーザーは、各同期ごとにこのセグメントに一貫して追加され、ユーザーは削除されることはありません。インポートしたユーザーをカスタムセグメントとして保存するには、次の手順を実行します:

  1. カスタムセグメントとして保存 トグルをオンにして、インポートしたユーザーをカスタムセグメントに保存し、同じユーザーに合わせたキャンペーンを送信します。
  2. セグメント名 」ボックスに、セグメントの名前を入力してください。
  3. ユーザーIDの リストで、テーブルの識別子列を選択してください。

インポート動作

ユーザーインポートの場合、既存のユーザーのみを更新することも選択できます。これは、新しいユーザーを作成せずにMoEngageでユーザーの属性を一括更新したいときに役立ちます。これを有効にするには、 インポート動作 の下にある 既存のユーザーのみを更新 チェックボックスを選択してください。

インポート通知を送信する

インポートのステータスについて、メールで通知を受け取ることを選択できます。それを行うために:

  1. 送信インポートステータスを チェックボックスを選択してください。
  2. リストから メールIDを選択 し、メールIDを選択してください。ステータスメールを送信するために最大10件のメールを選択できます。
    ImportStatus.png

インポートステータスのメールには、以下のイベントに関する情報が含まれています:

  • インポートが作成されました
  • インポートが成功しました
  • インポートに失敗しました

すべてのマッピングが完了したら、 次へ クリックしてください。

ステップ 3: インポート頻度を選択する

このステップでは、テーブルと同期するタイミングを定義する必要があります。以下の種類のインポートをサポートしています:

  • 一度限り : 可能な限り早く、または後の日時(スケジュールされた)にインポートを実行できます。インポート基準に一致するすべての既存の行がインポートされます。
  • 定期的 : インポートを毎時、毎日、毎週、または毎月実行することができます。また、間隔や高度な設定を使用することも可能です。

オプションとして、インポートが指定された発生回数のセットの後に終了するか、特定の日付で終了するかを指定できます。準備ができたら 完了 をクリックしてください。

warning

警告

初期インポート時に、テーブルから一致するすべての行がインポートされます。その後のインポートには、変更された行のみが含まれます。

重複インポート

重複インポートは、次の条件を満たす場合に考慮されます:

  • ユーザー/イベントのインポートタイプは同じです。
  • イベント名/ 登録済み/ 匿名/ すべてのユーザーのインポートサブタイプは同じです。
  • イベント名/ 登録済み/ 匿名/ 同じ Databricks 接続を持つすべてのユーザーのインポートタイプ。
  • イベント名/ 登録済み/ 匿名/ スキーマ/ データセットおよびテーブル/ ビューのすべてのユーザーインポートタイプは同じです。

FAQ

arrow_drop_down MoEngageはDatabricks Unity Catalog接続をサポートしていますか?また、セットアップはどのように異なりますか?

回答: はい、MoEngageのDatabricksインポートはDatabricks Unity Catalogに基づいています。したがって、セットアッププロセスは標準のDatabricks接続と同じです。

arrow_drop_down MoEngage統合のためのDatabricksまたはDatabricks SQL Warehousesに特定のバージョン要件はありますか?

回答: いいえ、互換性に関する特定のバージョン要件はありません。

arrow_drop_down JSON データをオブジェクト データ型として MoEngage に正常にインポートするには、Databricks 列のデータ型を何にする必要がありますか?

回答: Databricksでは、テーブル作成時に列の型を VARIANT にする必要があります。

arrow_drop_down MoEngage は、インポート時に UTC ではなくローカル タイムゾーンを含む Databricks TIMESTAMP 列をどのように処理しますか?

回答: MoEngageは保存された時間をUTCとして解釈します。Databricksにはローカル時間の概念がないためです。DatabricksはタイムスタンプをUTCで保存することを推奨しています。

この記事は役に立ちましたか?
1人中0人がこの記事が役に立ったと言っています

How can we improve this article?