We are proud to share our inclusion in the 2024 Gartner Magic Quadrant for Data Integration Tools. We believe this recognition reflects the differentiated business outcomes CData delivers to our customers.
Get the Report →Connect to Redshift Data in JRuby
Create a simple JRuby app with access to live Redshift data.
JRuby is a high-performance, stable, fully threaded Java implementation of the Ruby programming language. The CData JDBC Driver for Redshift makes it easy to integrate connectivity to live Redshift data in JRuby. This article shows how to create a simple JRuby app that connects to Redshift data, executes a query, and displays the results.
Configure a JDBC Connection to Redshift Data
Before creating the app, note the installation location for the JAR file for the JDBC Driver (typically C:\Program Files\CData\CData JDBC Driver for Redshift\lib).
JRuby natively supports JDBC, so you can easily connect to Redshift and execute SQL queries. Initialize the JDBC connection with the getConnection function of the java.sql.DriverManager class.
To connect to Redshift, set the following:
- Server: Set this to the host name or IP address of the cluster hosting the Database you want to connect to.
- Port: Set this to the port of the cluster.
- Database: Set this to the name of the database. Or, leave this blank to use the default database of the authenticated user.
- User: Set this to the username you want to use to authenticate to the Server.
- Password: Set this to the password you want to use to authenticate to the Server.
You can obtain the Server and Port values in the AWS Management Console:
- Open the Amazon Redshift console (http://console.aws.amazon.com/redshift).
- On the Clusters page, click the name of the cluster.
- On the Configuration tab for the cluster, copy the cluster URL from the connection strings displayed.
Built-in Connection String Designer
For assistance in constructing the JDBC URL, use the connection string designer built into the Redshift JDBC Driver. Either double-click the JAR file or execute the jar file from the command-line.
java -jar cdata.jdbc.redshift.jar
Fill in the connection properties and copy the connection string to the clipboard.
Below is a typical JDBC connection string for Redshift:
jdbc:redshift:User=admin;Password=admin;Database=dev;Server=examplecluster.my.us-west-2.redshift.amazonaws.com;Port=5439;
Create a JRuby App with Connectivity to Redshift Data
Create a new Ruby file (for example: RedshiftSelect.rb) and open it in a text editor. Copy the following code into your file:
require 'java'
require 'rubygems'
require 'C:/Program Files/CData/CData JDBC Driver for Redshift 2018/lib/cdata.jdbc.redshift.jar'
url = "jdbc:redshift:User=admin;Password=admin;Database=dev;Server=examplecluster.my.us-west-2.redshift.amazonaws.com;Port=5439;"
conn = java.sql.DriverManager.getConnection(url)
stmt = conn.createStatement
rs = stmt.executeQuery("SELECT ShipName, ShipCity FROM Orders")
while (rs.next) do
puts rs.getString(1) + ' ' + rs.getString(2)
end
With the file completed, you are ready to display your Redshift data with JRuby. To do so, simply run your file from the command line:
jruby -S RedshiftSelect.rb
Writing SQL-92 queries to Redshift allows you to quickly and easily incorporate Redshift data into your own JRuby applications. Download a free trial today!