Discover how a bimodal integration strategy can address the major data management challenges facing your organization today.
Get the Report →Connect to Databricks Data in Ruby
Connect to Databricks data in Ruby with ruby-dbi, dbd-odbc, and ruby-odbc.
The CData ODBC Driver for Databricks makes it easy to integrate connectivity to live Databricks data in Ruby. This article shows how to create a simple Ruby app that connects to Databricks data, executes a query, and displays the results.
Create an ODBC Connection to Databricks Data
If you have not already, first specify connection properties in an ODBC DSN (data source name). This is the last step of the driver installation. You can use the Microsoft ODBC Data Source Administrator to create and configure ODBC DSNs.
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).
Installing Ruby and Necessary Gems
If you do not have Ruby installed, refer to the Ruby installation page. With Ruby installed, you will need to install the ruby-dbi, dbd-odbc, and ruby-odbc gems:
gem install dbi
gem install dbd-odbc
gem install ruby-odbc
Create a Ruby App with Connectivity to Databricks Data
Create a new Ruby file (for example: DatabricksSelect.rb) and open it in a text editor. Copy the following code into your file:
#connect to the DSN
require 'DBI'
cnxn = DBI.connect('DBI:ODBC:CData Databricks Source','','')
#execute a SELECT query and store the result set
resultSet = cnxn.execute("SELECT City, CompanyName FROM Customers WHERE Country = 'US'")
#display the names of the columns
resultSet.column_names.each do |name|
print name, "\t"
end
puts
#display the results
while row = resultSet.fetch do
(0..resultSet.column_names.size - 1).each do |n|
print row[n], "\t"
end
puts
end
resultSet.finish
#close the connection
cnxn.disconnect if cnxn
With the file completed, you are ready to display your Databricks data with Ruby. To do so, simply run your file from the command line:
ruby DatabricksSelect.rb
Writing SQL-92 queries to Databricks allows you to quickly and easily incorporate Databricks data into your own Ruby applications. Download a free trial today!