Integrate with Databricks Data using Apache Camel

Ready to get started?

Download for a free trial:

Download Now

Learn more:

Databricks JDBC Driver

Rapidly create and deploy powerful Java applications that integrate with Databricks.

Create a simple Java app that uses Apache Camel routing and the CData JDBC Driver to copy Databricks data to a JSON file on disk.

Apache Camel is an open source integration framework that allows you to integrate various systems consuming or producing data. When paired with the CData JDBC Driver for Databricks, you can write Java apps that use Camel routes that integrate with live Databricks data. This article walks through creating an app in NetBeans that connects, queries, and routes Databricks data to a JSON file.

With built-in optimized data processing, the CData JDBC Driver offers unmatched performance for interacting with live Databricks data. When you issue complex SQL queries to Databricks, the driver pushes supported SQL operations, like filters and aggregations, directly to Databricks and utilizes the embedded SQL engine to process unsupported operations client-side (often SQL functions and JOIN operations). Its built-in dynamic metadata querying allows you to work with and analyze Databricks data using native data types.

Creating A New Maven/Java Project


  1. Open NetBeans and create a new project.

Adding Project Dependencies

With the project created, we can start adding the dependencies needed to work with live Databricks data from our App. If you have not already done so, install Maven in your environment, as it is required to add the JAR file for the CData JDBC Driver to your project.

Installing the CData JDBC Driver for Databricks with Maven

  1. Download the CData JDBC Driver for Databricks installer, unzip the package, and run the JAR file to install the driver.
    mvn install:install-file 
    	-Dfile="C:\Program Files\CData\CData JDBC Driver for Databricks 2019\lib\cdata.jdbc.databricks.jar" 


Required Dependencies

DependencyGroup IDArtifact IDVersion

Accessing Databricks Data in Java Apps with Camel

After adding the required dependencies, we can use the Java DSL (Domain Specific Language) to create routes with access to live Databricks data. Code snippets follow. Download the sample project (zip file) to follow along (make note of the TODO comments).

Start by importing the necessary classes into our main class.

import org.apache.camel.CamelContext;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.impl.DefaultCamelContext;
import org.apache.camel.support.SimpleRegistry;
import org.apache.commons.dbcp2.BasicDataSource;
import org.apache.log4j.BasicConfigurator;


Configure Logging


Create a BasicDataSource




BasicDataSource basic = new BasicDataSource();


Built-in Connection String Designer

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

java -jar cdata.jdbc.databricks.jar


Add the BasicDataSource to the Registry and Create a CamelContext

SimpleRegistry reg = new SimpleRegistry();
reg.bind("myDataSource", basic);

CamelContext context = new DefaultCamelContext(reg);

Add Routing to the CamelContext


context.addRoutes(new RouteBuilder() {
	public void configure() {

Managing the CamelContext Lifecycle



Free Trial, Sample Project & Technical Support

Now, you have a working Java application that uses Camel to route data from Databricks to a JSON file. Download a free, 30-day trial of the CData JDBC Driver for Databricks and the sample project (make note of the TODO comments) and start working with your live Databricks data in Apache Camel. Reach out to our Support Team if you have any questions.