Skip to main content

Introduction

Databricks is a platform that allows organizations to store, analyze, and process large volumes of structured and semi-structured data in a highly scalable and efficient manner. With its unique architecture, organizations can consolidate their data, perform quick analytics, and gain valuable data-driven insights accessible to all users.

MoEngage <> Databricks

With this integration, you can export data from campaign interaction events to your Databricks tables.

Integration

  • Ensure you have a Databricks account with relevant permissions to create/edit Databricks instances, roles, and policies. It is optional to create a new user; you must have access to create a new user in your Databricks database.
  • If your system requires IP whitelisting, you must whitelist MoEngage IPs. For more information, refer here.
  • Ensure you have a Databricks Connection on the App marketplace.
  • Exports to Databricks are part of the Streams add-on. Contact your dedicated MoEngage CSM (customer success manager) to enable them for your account.
If not done already, you need to set up a MoEngage <> Databricks integration for your account. For more information, refer to the Databricks Integration help doc.

Export Events from MoEngage to Databricks

Step 1: Ensure Your User’s Assigned Role Has Required Permissions

MoEngage will need WRITE access to your Databricks database to store data. You have the option to grant these permissions to an existing database user or create a new dedicated database user specifically for MoEngage. Use the following code to configure write access for data storage in your Databricks database:
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>`;
Remember to change the following values:
  • <CATALOG_NAME> - The name of your catalog.
  • <SCHEMA_NAME> - The name of your database or schema.
  • <EMAIL_ID_OF_THE_USER> - The email ID of the user who created the token.

Step 2: Add a New Databricks Export on the MoEngage App Marketplace

  • For the full list of events and attributes, refer to the Data Exports Glossary.
  • The event_time of the exported events will always be in UTC.
  • As of now, we do not support exporting Historical Data from MoEngage
To add a new Databricks export, perform the following steps:
  1. On the left navigation menu in the MoEngage dashboard, click App marketplace.
  2. On the App Marketplace page, search for Databricks.
    Databricks
  3. Click the Databricks tile.
  4. On the Databricks page, go to the Integrate tab and click +Add Export.
  5. Enter the following details:
    FieldRequiredDescription
    Export nameYesType a name for the Databricks export.
    Databricks connectionYesSelect your Databricks connection.
    Export into schemaYesSelect the schema that MoEngage uses to create new tables and export your events into.
    User propertiesOptionalSelect the user properties (user properties and device properties) you want to export with your events.
    Select eventsYesSelect the events you want to export to Databricks. You can choose to export all events, including existing and new ones coming into MoEngage, or manually select specific events to export.
Wxortimagebin
  1. Click Save export.
MoEngage starts dumping (appending) events to the newly created table every hour.

Export Process and Frequency

After you save the export, MoEngage creates a destination table in your schema. New event data is then appended to the existing table at hourly intervals:
  • Initial action: MoEngage creates the table when the first export is triggered.
  • Recurring action: MoEngage adds (appends) data to the same table every hour.

Sample Table Structure

MoEngage creates a single table in your schema using the following format:
moe_events_<table_creation_timestamp.
Note: This table is created after per connection. All hourly exports and different event types configured under this connection are consolidated and appended to this specific table. The overall structure of the table remains fixed for all event types. Any new user property or event attribute that is exported will be included in the user_attributes or event_attributes column, respectively. All events are consolidated in a single table containing necessary information, such as event names and event times, for easy analysis:
FieldTypeNULL
app_nameVARCHARNOT NULL
event_nameVARCHARNOT NULL
event_codeVARCHARNOT NULL
event_uuidVARCHARNOT NULL
event_timeTIMESTAMPNOT NULL
event_typeVARCHARNOT NULL
event_sourceVARCHARNOT NULL
uidVARCHARNULL
user_attributes_moengage_user_idVARCHARNULL
device_attributes_moengage_device_idVARCHARNULL
push_idVARCHARNULL
email_addressVARCHARNULL
mobile_numberVARCHARNULL
event_attributes_app_versionVARCHARNULL
event_attributes_sdk_versionVARCHARNULL
event_attributes_platformVARCHARNULL
event_attributes_campaign_idVARCHARNULL
event_attributes_campaign_nameVARCHARNULL
event_attributes_campaign_typeVARCHARNULL
event_attributes_campaign_channelVARCHARNULL
event_attributes_readable_campaign_idVARCHARNULL
event_attributes_parent_campaign_idVARCHARNULL
event_attributes_parent_flow_idVARCHARNULL
event_attributes_parent_flow_nameVARCHARNULL
event_attributes_variation_idVARCHARNULL
event_attributes_locale_idVARCHARNULL
event_attributes_locale_nameVARCHARNULL
event_attributes_urlVARCHARNULL
event_attributes_timestampTIMESTAMPNULL
event_attributes_first_sessionBOOLEANNULL
event_attributes_logged_in_statusVARCHARNULL
event_attributesVARIANTNULL
user_attributesVARIANTNULL
device_attributesVARIANTNULL

Frequently Asked Questions

It typically takes up to 30 minutes for the automated data exports to be set up for your account and for you to start seeing data there.
Yes, if you need to export new events at a later time, you can always edit your configuration on the App Marketplace and get the new events added to your exports.
As of now, you cannot export historical data using Automated Data Exports. Once configured, you will start seeing data for each event from the time you enabled your exports.
If your billing plan does not cover this already and you need to get this enabled at a later time, you would need to work with your Customer Success Manager to get this included in your billing plan. Based on the amount of data that MoEngage will place in your Data warehouse/Partner/API on a monthly basis, this could lead to additional charges.
No, Data Exports is primarily built to export your Events in near real-time and user attributes in MoEngage are updated asynchronously so it is currently not possible to guarantee the latest values of user attributes in the exports.