Analyze Elasticsearch Data in SAP Analytics Cloud

Ready to get started?

Learn more or sign up for a free trial:

CData Connect



Use the CData Connect Cloud to create an OData API on top of Elasticsearch data and visualize live Elasticsearch data in SAP Analytics Cloud.

SAP Analytics Cloud is a cloud-based business intelligence platform. The CData Connect Cloud creates a virtual database for Elasticsearch and can be used to generate an OData API (natively consumable in Analytics Cloud) for Elasticsearch. By pairing SAP Analytics Cloud with the CData Connect Cloud, you get true cloud-to-cloud connectivity to all of your SaaS and cloud-based Big Data and NoSQL sources — no need to migrate your data or write your integrations. Simply connect to Connect Cloud as you would any other OData service and get instant, live access to all of your data.

In this article, we walk through connecting to Elasticsearch in Connect Cloud and connecting to Connect Cloud from Analytics Cloud to create a model and build a simple dashboard.

Configure Connect Cloud to Connect to Elasticsearch

To connect to Elasticsearch data from SAP Analytics Cloud, you need to configure Elasticsearch access from your Connect Cloud instance. This means creating a user, connecting to Elasticsearch, adding OData endpoints, and (optionally) configuring CORS.

Add a Connect Cloud User

Create a User to connect to Elasticsearch from Analytics Cloud through Connect Cloud.

  1. Click Users -> Add
  2. Configure a User
  3. Click Save Changes and make note of the Authtoken for the new user

Connect to Elasticsearch from Connect Cloud

CData Connect Cloud uses a straightforward, point-and-click interface to connect to data sources and generate APIs.

  1. Open Connect Cloud and click Databases
  2. Select "Elasticsearch" from Available Data Sources
  3. Enter the necessary authentication properties to connect to Elasticsearch.

    Set the Server and Port connection properties to connect. To authenticate, set the User and Password properties, PKI (public key infrastructure) properties, or both. To use PKI, set the SSLClientCert, SSLClientCertType, SSLClientCertSubject, and SSLClientCertPassword properties.

    The data provider uses X-Pack Security for TLS/SSL and authentication. To connect over TLS/SSL, prefix the Server value with 'https://'. Note: TLS/SSL and client authentication must be enabled on X-Pack to use PKI.

    Once the data provider is connected, X-Pack will then perform user authentication and grant role permissions based on the realms you have configured.

  4. Click Test Database
  5. Click Privileges -> Add, and add the new user (or an existing user) with the appropriate permissions (SELECT is all that is required for Reveal)

Add Elasticsearch OData Endpoints in Connect Cloud

After connecting to Elasticsearch, create OData Endpoint for the desired table(s).

  1. Click OData -> Tables -> Add Tables
  2. Select the Elasticsearch database
  3. Select the table(s) you wish to work with and click Next
  4. (Optional) Edit the resource to select specific fields and more
  5. Save the settings

(Optional) Configure Cross-Origin Resource Sharing (CORS)

When accessing and connecting to multiple different domains from an application such as Ajax, there is a possibility of violating the limitations of cross-site scripting. In that case, configure the CORS settings in OData -> Settings.

  • Enable cross-origin resource sharing (CORS): ON
  • Allow all domains without '*': ON
  • Access-Control-Allow-Methods: GET, PUT, POST, OPTIONS
  • Access-Control-Allow-Headers: Authorization

Save the changes to the settings.

Create a Model of Elasticsearch Data in SAP Analytics Cloud

With the connection to Elasticsearch configured and the OData endpoint(s) created, we can create a Model for Elasticsearch data in SAP Analytics Cloud.

  1. Log into your Analytics Cloud instance and click Create -> Model from the menu.
  2. Choose "Get data from a datasource" and select "OData Services"
  3. Choose an existing connection to your Connect Cloud OData or Create a new one:
    • Set "Connection Name"
    • Set "Data Service URL" to the Base URL for your OData API (typically: https://www.cdatacloud.net/MYINSTANCE/api.rsc)
    • Set "Authentication Type" to Basic Authentication
    • Set "User Name" to the Connect Cloud user you configured earlier
    • Set "Password" to the Authtoken for the above user
  4. Choose "Create a new query" and click Next
  5. Name the Query, select an OData endpoint (like elasticsearchdb_Orders) and click Next
  6. Drag the columns you wish to work with into the Selected Data workspace and click Create
  7. At this point, a Draft Data source is created; click the draft to finalize the model
  8. Perform any transformations, including creating calculated dimensions, location dimensions, and combining data sources, then click Create Model
  9. Name your model and click OK

Build a Dashboard in SAP Analytics Cloud

With the model created, you are ready to create a dashboard in SAP Analytics Cloud based on Elasticsearch data.

  1. From the menu, click Create -> Story
  2. Click an SAP Analytics Template (this article uses the "Dashboard" template)
  3. Choose a layout and click Apply
  4. From the More menu, select a visualization to insert (Chart)
  5. Select a model to visualize
  6. Select a structure and the required Measures and Dimensions
  7. Save the story

More Information & Free Trial

Now, you have created a simple but powerful dashboard from live Elasticsearch data. For more information on creating OData feeds from Elasticsearch (and more than 200 other data sources), visit the Connect Cloud page. Sign up for a free trial and start working with live Elasticsearch data in SAP Analytics Cloud.