> ## Documentation Index
> Fetch the complete documentation index at: https://moengage.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Databricks エクスポート

> 直接エクスポートまたはOpenSharing（ゼロコピー共有）を使用して、MoEngageからDatabricksにキャンペーンインタラクションイベントをエクスポートします。スケーラブルなイベント分析のために、いずれかの方法を設定します。

# はじめに

[Databricks](https://www.databricks.com/resources/ebook/maximize-your-organizations-potential-data-and-ai?scid=7018Y000001Fi1AQAS\&utm_medium=paid+search\&utm_source=google\&utm_campaign=15418435374\&utm_adgroup=130717555576\&utm_content=ebook\&utm_offer=maximize-your-organizations-potential-data-and-ai\&utm_ad=703594935116\&utm_term=databricks\&gad_source=1\&gclid=CjwKCAjwvr--BhB5EiwAd5YbXpGh4ugWZyyOwJrqbfr-c5cZhP9HVrGMKQmBuZRlVcC_BRLco-zKVxoCmZkQAvD_BwE) は、組織が大量の構造化データおよび半構造化データを、高いスケーラビリティと効率性で保存、分析、処理できるプラットフォームです。独自のアーキテクチャにより、組織はデータを統合し、迅速な分析を実行して、すべてのユーザーがアクセスできる価値あるデータドリブンなインサイトを得ることができます。

# MoEngage `<>` Databricks

この統合により、キャンペーンインタラクションイベントのデータをDatabricksテーブルにエクスポートできます。

## 配信方法

MoEngageは、次の2つの方法でイベントデータをDatabricksに配信します。

* **OpenSharing（ゼロコピー共有）**: ワークスペースから、Delta Sharingプロトコルを通じてMoEngageがホストするデータをその場でクエリします。こちらが推奨される方法です。
* **直接エクスポート**: MoEngageがお客様自身のスキーマ内のテーブルにイベントを書き込みます。ワークスペースでUnity Catalogが有効になっていない場合は、この方法を使用します。

どちらの方法でも同じテーブルスキーマが生成され、1時間ごとに更新されます。次の表で両者を比較します。

| | OpenSharing（ゼロコピー共有） <br />**推奨** | 直接エクスポート |
| - | - | - |
| **データの到着方法** | ワークスペースから、Delta Sharingプロトコルを通じてMoEngageがホストするデータをライブでクエリします。 | MoEngageがお客様のスキーマ内のテーブルにイベントを書き込みます。 |
| **MoEngageが必要とする認証情報** | 不要です。共有識別子を提供しますが、これは秘密情報ではありません。 | Databricksのカタログとスキーマへの `WRITE` アクセス権。 |
| **IP許可リスト登録** | 不要です。 | システムで強制されている場合は必要です。 |
| **データの保存場所** | お客様がマウントする、MoEngageがホストする専用カタログ内。 | お客様自身のカタログとスキーマ内。 |
| **Unity Catalogの要否** | 必要です。 | 不要です。 |
| **セットアップ時間** | 有効化をリクエストしてから最大7営業日。 | App Marketplaceでセルフサービス。 |

<Note>
  2つの方法は別々のストレージレイヤーを使用します。直接エクスポートで既に配信されたレコードはOpenSharingカタログには表示されず、その逆も同様です。方法を切り替えるには、MoEngageカスタマーサクセスマネージャー（CSM）にお問い合わせください。
</Note>

# 統合

## 前提条件

前提条件は、選択する配信方法によって異なります。該当する方法のタブをクリックしてください。

<Tabs>
  <Tab title="OpenSharing（ゼロコピー共有）">
    * DatabricksワークスペースでUnity Catalogが有効になっていることを確認してください。
    * `<cloud>:<region>:<metastore-id>` 形式の共有識別子を取得してください。詳細については、[ステップ1: 有効化をリクエストする](/docs/ja/user-guide/data/exports/events/data-warehouse/databricks-exports#set-up-your-export)を参照してください。
    * OpenSharingエクスポートはStreamsアドオンの一部です。アカウントで有効にするには、担当のMoEngage CSM（カスタマーサクセスマネージャー）にお問い合わせください。
  </Tab>

  <Tab title="直接エクスポート">
    * Databricksインスタンス、ロール、ポリシーを作成・編集するための適切な権限を持つDatabricksアカウントがあることを確認してください。新しいユーザーの作成は任意ですが、作成する場合はDatabricksデータベースで新しいユーザーを作成するアクセス権が必要です。
    * システムでIPホワイトリスト登録が必要な場合は、MoEngageのIPをホワイトリストに登録する必要があります。詳細については、[こちら](/docs/ja/user-guide/settings/account/security/ip-whitelisting-in-moengage)を参照してください。
    * App Marketplaceで[Databricks接続](/docs/ja/partner-guide/data-and-analytics/data-warehouses/databricks)があることを確認してください。
    * DatabricksへのエクスポートはStreamsアドオンの一部です。アカウントで有効にするには、担当のMoEngage CSM（カスタマーサクセスマネージャー）にお問い合わせください。
  </Tab>
</Tabs>

## エクスポートを設定する

<Info>
  * イベントと属性の完全なリストについては、[データエクスポート用語集](/docs/ja/user-guide/data/exports/events/data-export-glossary)を参照してください。
  * エクスポートされるイベントのevent\_timeは常にUTCです。
  * MoEngageは過去のデータのエクスポートをサポートしていません。データはエクスポートを有効にした時点から送信されます。
</Info>

セットアップ手順は配信方法によって異なります。使用する方法のタブをクリックしてください。

<Tabs>
  <Tab title="OpenSharing（ゼロコピー共有）">
    OpenSharingでは、ファイルベースのエクスポートを受け取る代わりに、ワークスペースからDelta Sharingプロトコルを通じてMoEngageがホストするデータを直接クエリします。認証情報や書き込みトークンをやり取りする必要はなく、クエリは常に最新のデータを読み取ります。既存のSQLエディター、ノートブック、BIダッシュボードから、標準的なUnity Catalogのワークフローを通じて共有カタログをクエリできます。

    次の図は、MoEngageとワークスペースの間でデータがどのように移動するかを示しています。

    <img src="https://mintcdn.com/moengage/MmrMrazO7569Xz6I/images/databricks-openshare-architecture.png?fit=max&auto=format&n=MmrMrazO7569Xz6I&q=85&s=b0ccabc6823fab89fcfbf270e88d7131" alt="MoEngageが分離されたカタログ、共有、受信者をプロビジョニングし、安全なDelta Shareを介してDatabricksワークスペースに接続され、読み取り専用カタログとしてマウントしてライブでクエリする様子を示すアーキテクチャ図" width="2644" height="1623" data-path="images/databricks-openshare-architecture.png" />

    **ステップ1: 有効化をリクエストする**

    OpenSharingをリクエストするには、次の手順を実行します。

    1. Databricksワークスペースのサイドバーで、**Catalog** をクリックします。

    2. **Share** をクリックし、**OpenSharing** をクリックします。

           <img src="https://mintcdn.com/moengage/MmrMrazO7569Xz6I/images/databricks-openshare-share-menu.png?fit=max&auto=format&n=MmrMrazO7569Xz6I&q=85&s=457d9c0dfb1ce5f2420368fb32e6c229" alt="Shareメニューが開き、OpenSharingオプションが表示されているDatabricksのCatalogページ" width="1814" height="383" data-path="images/databricks-openshare-share-menu.png" />

    3. **OpenSharing** ページで、**Sharing ID** をクリックして共有識別子をコピーします。

           <img src="https://mintcdn.com/moengage/MmrMrazO7569Xz6I/images/databricks-openshare-sharing-id.png?fit=max&auto=format&n=MmrMrazO7569Xz6I&q=85&s=5eead55a462095cf7565bb4936760ac8" alt="Sharing IDボタンが強調表示されたDatabricksのOpenSharingページ" width="1814" height="394" data-path="images/databricks-openshare-sharing-id.png" />

    共有識別子をMoEngage CSMに送信します。

    **ステップ2: 共有を承認する**

    MoEngageは通常、7営業日以内に共有をプロビジョニングします。その後、CSMからデータ共有の名前が送られてきます。

    共有を承認するには、次の手順を実行します。

    1. Databricksワークスペースで、**Catalog** > **OpenSharing** をクリックし、**Shared with me** タブをクリックします。

           <img src="https://mintcdn.com/moengage/MmrMrazO7569Xz6I/images/databricks-openshare-shared-with-me.png?fit=max&auto=format&n=MmrMrazO7569Xz6I&q=85&s=7741e568ad6a029980ab7a33fbfd3544" alt="Shared with meタブが強調表示され、利用可能なプロバイダーが一覧表示されているDatabricksのOpenSharingページ" width="1736" height="452" data-path="images/databricks-openshare-shared-with-me.png" />

    2. CSMから送られてきた名前に一致するMoEngageプロバイダーをクリックします。

    3. 共有の横にある **Mount to catalog** をクリックします。

           <img src="https://mintcdn.com/moengage/MmrMrazO7569Xz6I/images/databricks-openshare-mount-to-catalog.png?fit=max&auto=format&n=MmrMrazO7569Xz6I&q=85&s=3f563928149fa3be5f2b795baa449a3e" alt="Mount to catalogボタンが強調表示されたMoEngage共有を表示するDatabricksのプロバイダーページ" width="1736" height="561" data-path="images/databricks-openshare-mount-to-catalog.png" />

    4. カタログ名（例: `moengage_shared_data`）を入力し、確定します。

    **ステップ3: エクスポートを設定する**

    MoEngageでエクスポートを設定するには、次の手順を実行します。

    1. MoEngageダッシュボードの左側のナビゲーションメニューで、**App marketplace** をクリックします。
    2. **App marketplace** ページで **Databricks** を検索し、**Databricks** タイルをクリックします。
    3. **Integrate** タブをクリックします。

    [MoEngage App Marketplaceで新しいDatabricksエクスポートを追加する](/docs/ja/user-guide/data/exports/events/data-warehouse/databricks-exports#add-a-new-databricks-export-on-the-moengage-app-marketplace)の説明に従ってエクスポートを作成します。**Export into schema** リストで、共有カタログのスキーマを選択します。リストには、CSMから共有されたものと同じ値が表示されます。

    OpenSharingでは接続が自動的にプロビジョニングされるため、MoEngageから接続、サービスプリンシパルの認証情報、書き込みアクセス権の入力を求められることはありません。

    **ステップ4: データをクエリする**

    共有カタログに最初の行が表示されるまでに最大30分かかる場合があります。データを確認するには、次の手順を実行します。

    1. 次のクエリを実行します。

       ```sql theme={null}
       SELECT * FROM <your_catalog_name>.<schema>.<table_name>;
       ```

       プレースホルダーを、お使いのカタログ名、スキーマ名、テーブル名に置き換えてください。

    2. **Catalog Explorer** をクリックします。

           <img src="https://mintcdn.com/moengage/MmrMrazO7569Xz6I/images/databricks-openshare-catalog-explorer.png?fit=max&auto=format&n=MmrMrazO7569Xz6I&q=85&s=bee623b20e954e14d83b9d6c349063b9" alt="Shares receivedの下にマウントされたmoengage_shared_dataカタログとそのスキーマおよびテーブルを表示するDatabricksのCatalog Explorer" width="1808" height="1009" data-path="images/databricks-openshare-catalog-explorer.png" />

    3. テーブルをクリックし、**Sample Data** をクリックします。

    Catalog Explorerでは、共有カタログがそのスキーマとテーブルとともに **Shares received** の下に一覧表示されます。**Sample Data** ビューでは、レコードと属性の定義をプレビューできます。

    MoEngageにスキーマの説明を依頼したい場合は、CSMに技術的なスキーマレビューをリクエストしてください。

    **ステップ5: 組織内のアクセスを管理する**

    共有カタログはお客様自身のインフラストラクチャ内にあるため、Unity Catalogを通じてアクセスを制御します。データを必要とするユーザーまたはグループに、`USE CATALOG` 権限と `SELECT` 権限を割り当ててください。

    MoEngageはカタログへの書き込みアクセス権を持たず、どちらの当事者もいつでも接続を終了できます。ワークスペースの設定や共有識別子を変更すると配信が中断される可能性があるため、変更がある場合はCSMにお知らせください。
  </Tab>

  <Tab title="直接エクスポート">
    **ステップ1: ユーザーのロールに必要な権限を付与する**

    MoEngageがデータを保存するには、Databricksデータベースへの `WRITE` アクセス権が必要です。これらの権限は、既存のデータベースユーザーに付与することも、MoEngage用に新しいデータベースユーザーを作成することもできます。

    次のコードを使用して、Databricksデータベースにデータを保存するための書き込みアクセス権を設定します。

    ```text wrap theme={null}
    GRANT USE CATALOG ON CATALOG `<CATALOG_NAME>` TO `<EMAIL_ID_OF_THE_USER>`;
    GRANT USE SCHEMA, CREATE TABLE ON SCHEMA `<CATALOG_NAME>`.`<SCHEMA_NAME>` TO `<EMAIL_ID_OF_THE_USER>`;
    ```

    次の値を変更してください。

    * `<CATALOG_NAME>` - カタログの名前。
    * `<SCHEMA_NAME>` - データベースまたはスキーマの名前。
    * `<EMAIL_ID_OF_THE_USER>` - トークンを作成したユーザーのメールID。

    **ステップ2: Unity Catalogボリュームを使用してエクスポートを高速化する（推奨）**

    この手順は任意です。MoEngageはUnity Catalogボリュームを使用して、より効率的にデータをエクスポートできます。この方法を使用するには、専用のボリュームを作成し、MoEngageにアクセス権を付与します。

    次のコードを使用して、ボリュームを作成し、アクセス権を付与します。

    ```sql wrap theme={null}
    -- Create the volume. This is a one-time activity, and Databricks provisions the storage.
    CREATE VOLUME IF NOT EXISTS <CATALOG_NAME>.<SCHEMA_NAME>.<VOLUME_NAME>;

    -- Grant MoEngage read and write access on the volume.
    GRANT READ VOLUME, WRITE VOLUME ON VOLUME <CATALOG_NAME>.<SCHEMA_NAME>.<VOLUME_NAME>
      TO `<GRANTEE>`;
    ```

    次の値を変更してください。

    * `<CATALOG_NAME>` - カタログの名前。
    * `<SCHEMA_NAME>` - データベースまたはスキーマの名前。
    * `<VOLUME_NAME>` - 作成するボリュームの名前。
    * `<GRANTEE>` - サービスプリンシパルのアプリケーションID（OAuthまたはService Principal PATを使用する場合）、またはユーザーのメールアドレス（User PATを使用する場合）。

    エクスポートを追加する際に、**Unity Catalog Volume** フィールドにボリューム名を入力します。

    **ステップ3: App Marketplaceでエクスポートを追加する**

    下記の[MoEngage App Marketplaceで新しいDatabricksエクスポートを追加する](/docs/ja/user-guide/data/exports/events/data-warehouse/databricks-exports#add-a-new-databricks-export-on-the-moengage-app-marketplace)に進みます。
  </Tab>
</Tabs>

### MoEngage App Marketplaceで新しいDatabricksエクスポートを追加する

この手順は両方の配信方法で使用します。OpenSharingでは接続が既に存在するため、スキーマ、イベント、属性を選択するだけです。

新しいDatabricksエクスポートを追加するには、次の手順を実行します。

1. MoEngageダッシュボードの左側のナビゲーションメニューで、**App marketplace** をクリックします。

2. **App marketplace** ページで **Databricks** を検索します。

   <img src="https://mintcdn.com/moengage/ug1DZn3QSotOzs8r/images/databricks.png?fit=max&auto=format&n=ug1DZn3QSotOzs8r&q=85&s=cd68453d59430bb8981e2cacfd6227a2" alt="Databricksタイルが表示されたMoEngage App Marketplaceの検索結果" width="2624" height="1346" data-path="images/databricks.png" />

3. **Databricks** タイルをクリックします。

4. **Databricks** ページで **Integrate** タブをクリックし、**+ Add Export** をクリックします。

5. 次の詳細を入力します。

   | フィールド | 必須 | 説明 |
   | - | - | - |
   | **Export name** | はい | Databricksエクスポートの名前を入力します。 |
   | **Databricks connection** | はい | Databricks接続を選択します。 |
   | **Export into schema** | はい | MoEngageが新しいテーブルを作成し、イベントをエクスポートするスキーマを選択します。 |
   | **Unity Catalog Volume** | 任意 | MoEngage用に作成したボリュームの名前を入力します。ボリュームを使用しない場合は空欄のままにします。ボリュームを作成してMoEngageにアクセス権を付与するには、[エクスポートを設定する](/docs/ja/user-guide/data/exports/events/data-warehouse/databricks-exports#set-up-your-export)の **直接エクスポート** タブを参照してください。 |
   | **User properties** | 任意 | イベントとともにエクスポートするユーザープロパティ（ユーザープロパティとデバイスプロパティ）を選択します。 |
   | **Select events** | はい | Databricksにエクスポートするイベントを選択します。既存のイベントとMoEngageに新たに取り込まれるイベントを含むすべてのイベントをエクスポートするか、エクスポートする特定のイベントを手動で選択するかを選べます。 |

   <img src="https://mintcdn.com/moengage/0qL158hpfBfDoFgO/images/databricks-add-export-form.png?fit=max&auto=format&n=0qL158hpfBfDoFgO&q=85&s=3b0fd7a0388d7cbacc95059b9eda44c7" alt="エクスポート名、Databricks接続、エクスポート先スキーマ、Unity Catalog Volume、ユーザープロパティ、イベント選択の各フィールドを表示し、Saveボタンが強調表示されたDatabricksへのエクスポート設定フォーム" width="834" height="1132" data-path="images/databricks-add-export-form.png" />

6. **Save** をクリックします。

## エクスポートのプロセスと頻度

どちらの配信方法も1時間ごとに更新され、手動で同期ジョブを実行する必要はありません。

直接エクスポートの場合、MoEngageはエクスポートを保存した後にお客様のスキーマ内に宛先テーブルを作成し、1時間間隔で新しいイベントデータを追加します。

* **初回のアクション**: 最初のエクスポートがトリガーされたときに、MoEngageがテーブルを作成します。
* **定期的なアクション**: MoEngageは1時間ごとに同じテーブルにデータを追加します。

OpenSharingの場合、MoEngageは共有データセットを1時間ごとに更新します。クエリはデータの現在の状態を読み取るため、お客様側にMoEngageが書き込むテーブルはありません。

## テーブル構造のサンプル

MoEngageは、次の形式で単一のテーブルを作成します。\
`moe_events_<table_creation_timestamp>`

直接エクスポートの場合、このテーブルはお客様のスキーマ内に作成されます。OpenSharingの場合は、マウントした共有カタログ内に表示されます。

**注**: このテーブルは接続ごとに作成されます。この接続で設定されたすべての1時間ごとのエクスポートと異なるイベントタイプは、この特定のテーブルに統合されて追加されます。

テーブルの全体的な構造は、すべてのイベントタイプで固定されています。新たにエクスポートされるユーザープロパティやイベント属性は、それぞれuser\_attributes列またはevent\_attributes列に含まれます。すべてのイベントは、分析しやすいように、イベント名やイベント時刻などの必要な情報を含む単一のテーブルに統合されます。

| フィールド | 型 | NULL |
| - | - | - |
| app\_name | VARCHAR | NOT NULL |
| event\_name | VARCHAR | NOT NULL |
| event\_code | VARCHAR | NOT NULL |
| event\_uuid | VARCHAR | NOT NULL |
| event\_time | TIMESTAMP | NOT NULL |
| event\_type | VARCHAR | NOT NULL |
| event\_source | VARCHAR | NOT NULL |
| uid | VARCHAR | NULL |
| user\_attributes\_moengage\_user\_id | VARCHAR | NULL |
| device\_attributes\_moengage\_device\_id | VARCHAR | NULL |
| push\_id | VARCHAR | NULL |
| email\_address | VARCHAR | NULL |
| mobile\_number | VARCHAR | NULL |
| event\_attributes\_app\_version | VARCHAR | NULL |
| event\_attributes\_sdk\_version | VARCHAR | NULL |
| event\_attributes\_platform | VARCHAR | NULL |
| event\_attributes\_campaign\_id | VARCHAR | NULL |
| event\_attributes\_campaign\_name | VARCHAR | NULL |
| event\_attributes\_campaign\_type | VARCHAR | NULL |
| event\_attributes\_campaign\_channel | VARCHAR | NULL |
| event\_attributes\_readable\_campaign\_id | VARCHAR | NULL |
| event\_attributes\_parent\_campaign\_id | VARCHAR | NULL |
| event\_attributes\_parent\_flow\_id | VARCHAR | NULL |
| event\_attributes\_parent\_flow\_name | VARCHAR | NULL |
| event\_attributes\_variation\_id | VARCHAR | NULL |
| event\_attributes\_locale\_id | VARCHAR | NULL |
| event\_attributes\_locale\_name | VARCHAR | NULL |
| event\_attributes\_url | VARCHAR | NULL |
| event\_attributes\_timestamp | TIMESTAMP | NULL |
| event\_attributes\_first\_session | BOOLEAN | NULL |
| event\_attributes\_logged\_in\_status | VARCHAR | NULL |
| event\_attributes | VARIANT | NULL |
| user\_attributes | VARIANT | NULL |
| device\_attributes | VARIANT | NULL |

スキーマは両方の配信方法で同じです。列名のカスタマイズはサポートされていません。

# よくある質問

<Accordion title="データの受信はいつから始まりますか？">
  通常、アカウントで自動データエクスポートが設定され、データが表示され始めるまでに最大30分かかります。
</Accordion>

<Accordion title="後から追加のイベントをエクスポートできますか？">
  はい。後から新しいイベントをエクスポートする必要がある場合は、いつでもApp Marketplaceで設定を編集して、新しいイベントをエクスポートに追加できます。
</Accordion>

<Accordion title="Automated Data Exportsを使用して過去のデータをエクスポートできますか？">
  現時点では、Automated Data Exportsを使用して過去のデータをエクスポートすることはできません。設定後は、エクスポートを有効にした時点から各イベントのデータが表示されるようになります。これは直接エクスポートとOpenSharingの両方に当てはまります。
</Accordion>

<Accordion title="Automated Data Exportsには料金がかかりますか？">
  課金プランにこの機能がまだ含まれておらず、後から有効にする必要がある場合は、カスタマーサクセスマネージャーと協力して課金プランに含める必要があります。MoEngageが毎月データウェアハウス/パートナー/APIに格納するデータ量に応じて、追加料金が発生する可能性があります。
</Accordion>

<Accordion title="Data Exportsでは最新のユーザー属性が保証されますか？">
  いいえ。Data Exportsは主にイベントをほぼリアルタイムでエクスポートするために構築されており、MoEngageのユーザー属性は非同期で更新されるため、現時点ではエクスポート内のユーザー属性が最新の値であることを保証できません。
</Accordion>

<Accordion title="直接エクスポートからOpenSharingに移行できますか？">
  はい。配信方法を変更するには、MoEngage CSMにお問い合わせください。2つの方法は同じスキーマを使用しますが、ストレージレイヤーは別々であるため、直接エクスポートで既に配信されたレコードはOpenSharingカタログには表示されません。
</Accordion>

<Accordion title="OpenSharingカタログの列名やテーブル名を変更できますか？">
  いいえ。スキーマは標準化されており、名前のカスタマイズはサポートされていません。[ステップ3: エクスポートを設定する](/docs/ja/user-guide/data/exports/events/data-warehouse/databricks-exports#set-up-your-export)で説明されているように、設定時にエクスポートするイベントと属性を選択します。
</Accordion>

<Accordion title="OpenSharing接続が稼働した後は誰に連絡すればよいですか？">
  接続の維持、技術的な質問の解決、データ要件の調整については、MoEngage CSMが主な連絡先となります。
</Accordion>
