Integrate Cosmos DB Data in Pentaho Data Integration



Build ETL pipelines based on Cosmos DB data in the Pentaho Data Integration tool.

The CData JDBC Driver for Cosmos DB enables access to live data from data pipelines. Pentaho Data Integration is an Extraction, Transformation, and Loading (ETL) engine that data, cleanses the data, and stores data using a uniform format that is accessible.This article shows how to connect to Cosmos DB data as a JDBC data source and build jobs and transformations based on Cosmos DB data in Pentaho Data Integration.

Configure to Cosmos DB Connectivity

To obtain the connection string needed to connect to a Cosmos DB account using the SQL API, log in to the Azure Portal, select Azure Cosmos DB, and select your account. In the Settings section, click Connection String and set the following values:

  • AccountEndpoint: The Cosmos DB account URL from the Keys blade of the Cosmos DB account
  • AccountKey: In the Azure portal, navigate to the Cosmos DB service and select your Azure Cosmos DB account. From the resource menu, go to the Keys page. Find the PRIMARY KEY value and set AccountKey to this value.

Built-in Connection String Designer

For assistance in constructing the JDBC URL, use the connection string designer built into the Cosmos DB JDBC Driver. Either double-click the JAR file or execute the jar file from the command-line.

java -jar cdata.jdbc.cosmosdb.jar

Fill in the connection properties and copy the connection string to the clipboard.

When you configure the JDBC URL, you may also want to set the Max Rows connection property. This will limit the number of rows returned, which is especially helpful for improving performance when designing reports and visualizations.

Below is a typical JDBC URL:

jdbc:cosmosdb:AccountEndpoint=myAccountEndpoint;AccountKey=myAccountKey;

Save your connection string for use in Pentaho Data Integration.

Connect to Cosmos DB from Pentaho DI

Open Pentaho Data Integration and select "Database Connection" to configure a connection to the CData JDBC Driver for Cosmos DB

  1. Click "General"
  2. Set Connection name (e.g. Cosmos DB Connection)
  3. Set Connection type to "Generic database"
  4. Set Access to "Native (JDBC)"
  5. Set Custom connection URL to your Cosmos DB connection string (e.g.
    jdbc:cosmosdb:AccountEndpoint=myAccountEndpoint;AccountKey=myAccountKey;
  6. Set Custom driver class name to "cdata.jdbc.cosmosdb.CosmosDBDriver"
  7. Test the connection and click "OK" to save.

Create a Data Pipeline for Cosmos DB

Once the connection to Cosmos DB is configured using the CData JDBC Driver, you are ready to create a new transformation or job.

  1. Click "File" >> "New" >> "Transformation/job"
  2. Drag a "Table input" object into the workflow panel and select your Cosmos DB connection.
  3. Click "Get SQL select statement" and use the Database Explorer to view the available tables and views.
  4. Select a table and optionally preview the data for verification.

At this point, you can continue your transformation or jb by selecting a suitable destination and adding any transformations to modify, filter, or otherwise alter the data during replication.

Free Trial & More Information

Download a free, 30-day trial of the CData JDBC Driver for Cosmos DB and start working with your live Cosmos DB data in Pentaho Data Integration today.

Ready to get started?

Download a free trial of the Cosmos DB Driver to get started:

 Download Now

Learn more:

Cosmos DB Icon Cosmos DB JDBC Driver

Rapidly create and deploy powerful Java applications that integrate with Cosmos DB document databases.