Discover how a bimodal integration strategy can address the major data management challenges facing your organization today.
Get the Report →Connect to Databricks Data from PowerBuilder
This article demonstrates how to access Databricks data from PowerBuilder using the Databricks JDBC Driver.
The CData JDBC driver for Databricks is a standards-based control that can be used from any platform or development technology that supports JDBC, including PowerBuilder. This article shows how to use the CData JDBC Driver for Databricks in PowerBuilder.
This article shows how to create a basic PowerBuilder application that uses the CData JDBC Driver for Databricks to perform reads and writes.
About Databricks Data Integration
Accessing and integrating live data from Databricks has never been easier with CData. Customers rely on CData connectivity to:
- Access all versions of Databricks from Runtime Versions 9.1 - 13.X to both the Pro and Classic Databricks SQL versions.
- Leave Databricks in their preferred environment thanks to compatibility with any hosting solution.
- Secure authenticate in a variety of ways, including personal access token, Azure Service Principal, and Azure AD.
- Upload data to Databricks using Databricks File System, Azure Blog Storage, and AWS S3 Storage.
While many customers are using CData's solutions to migrate data from different systems into their Databricks data lakehouse, several customers use our live connectivity solutions to federate connectivity between their databases and Databricks. These customers are using SQL Server Linked Servers or Polybase to get live access to Databricks from within their existing RDBMs.
Read more about common Databricks use-cases and how CData's solutions help solve data problems in our blog: What is Databricks Used For? 6 Use Cases.
Getting Started
Connect to Databricks Data from PowerBuilder
Follow the steps below to use the Database Painter tool to create a database profile based on an JDBC URL for Databricks. You can use a database profile to save connection properties. In the Database Painter, you can graphically manipulate data as well as execute SQL queries.
Add the driver JAR to the PowerBuilder classpath. Set the CLASSPATH system environment variable to the path to the driver JAR, located in the lib subfolder of the installation directory.
Note: If you are using PowerBuilder Classic, you can also add the path to the driver JAR by clicking Tools -> System Options -> Java.
- Click Tools -> Database Painter.
- Right-click the JDBC node and click New Profile.
- In the Database Profile Setup dialog, enter the following:
- Profile Name: Enter a user-friendly name for the profile.
- Driver Name: Enter the class name of the driver, cdata.jdbc.databricks.DatabricksDriver
- URL: Enter the JDBC URL.
To connect to a Databricks cluster, set the properties as described below.
Note: The needed values can be found in your Databricks instance by navigating to Clusters, and selecting the desired cluster, and selecting the JDBC/ODBC tab under Advanced Options.
- Server: Set to the Server Hostname of your Databricks cluster.
- HTTPPath: Set to the HTTP Path of your Databricks cluster.
- Token: Set to your personal access token (this value can be obtained by navigating to the User Settings page of your Databricks instance and selecting the Access Tokens tab).
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
Fill in the connection properties and copy the connection string to the clipboard. A typical JDBC URL is below:
jdbc:databricks:Server=127.0.0.1;Port=443;TransportMode=HTTP;HTTPPath=MyHTTPPath;UseSSL=True;User=MyUser;Password=MyPassword;
- To view and modify a table, right-click a table and then click Edit Data -> Grid.
Using Databricks Data with PowerBuilder Controls
You can use standard PowerBuilder objects to connect to JDBC data sources and execute queries. The following example shows how to retrieve Databricks data into a DataWindow. You can add the following code to the open method:
SQLCA.DBMS = "JDBC"
SQLCA.AutoCommit = False
SQLCA.DBParm = "Driver='cdata.jdbc.databricks.DatabricksDriver',URL='jdbc:databricks:Server=127.0.0.1;Port=443;TransportMode=HTTP;HTTPPath=MyHTTPPath;UseSSL=True;User=MyUser;Password=MyPassword;";
CONNECT USING SQLCA;
dw_customers.SetTransObject(SQLCA);
dw_customers.Retrieve();