Analyze Kafka Data in SAP Analytics Cloud



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

SAP Analytics Cloud is a cloud-based business intelligence platform. The CData Connect Server creates a virtual database for Kafka and can be used to generate an OData API (natively consumable in Analytics Cloud) for Kafka. By pairing SAP Analytics Cloud with the CData Connect Server, you get direct 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 Server as you would any other OData service and get instant, consolidated access to all of your data.

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

Configure Connect Server to Connect to Kafka

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

Add a Connect Server User

Create a User to connect to Kafka from Analytics Cloud through Connect Server.

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

Connect to Kafka from Connect Server

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

  1. Open Connect Server and click Connections
  2. Select "Kafka" from Available Data Sources
  3. Enter the necessary authentication properties to connect to Kafka.

    Set BootstrapServers and the Topic properties to specify the address of your Apache Kafka server, as well as the topic you would like to interact with.

    Authorization Mechanisms

    • SASL Plain: The User and Password properties should be specified. AuthScheme should be set to 'Plain'.
    • SASL SSL: The User and Password properties should be specified. AuthScheme should be set to 'Scram'. UseSSL should be set to true.
    • SSL: The SSLCert and SSLCertPassword properties should be specified. UseSSL should be set to true.
    • Kerberos: The User and Password properties should be specified. AuthScheme should be set to 'Kerberos'.

    You may be required to trust the server certificate. In such cases, specify the TrustStorePath and the TrustStorePassword if necessary.

  4. Click Save Changes
  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 Kafka OData Endpoints in Connect Server

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

  1. Click OData -> Tables -> Add Tables
  2. Select the Kafka 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 Kafka Data in SAP Analytics Cloud

With the connection to Kafka configured and the OData endpoint(s) created, we can create a Model for Kafka 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 Server OData or Create a new one:
    • Set "Connection Name"
    • Set "Data Service URL" to the Base URL for your OData API (typically: CONNECT_SERVER_URL/api.rsc)
    • Set "Authentication Type" to Basic Authentication
    • Set "User Name" to the Connect Server 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 apachekafkadb_SampleTable_1) 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 Kafka 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 Kafka data. For more information on creating OData feeds from Kafka (and more than 200 other data sources), visit the Connect Server page. Sign up for a free trial and start working with live Kafka data in SAP Analytics Cloud.

Ready to get started?

Learn more or sign up for a free trial:

CData Connect Server