Ready to get started?

Learn more about the CData ODBC Driver for Presto or download a free trial:

Download Now

Connect to Presto Data in Ruby

Connect to Presto data in Ruby with ruby-dbi, dbd-odbc, and ruby-odbc.

The CData ODBC Driver for Presto makes it easy to integrate connectivity to live Presto data in Ruby. This article shows how to create a simple Ruby app that connects to Presto data, executes a query, and displays the results.

Create an ODBC Connection to Presto 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.

Set the Server and Port connection properties to connect, in addition to any authentication properties that may be required.

To enable TLS/SSL, set UseSSL to true.

Authenticating with LDAP

In order to authenticate with LDAP, set the following connection properties:

  • AuthScheme: Set this to LDAP.
  • User: The username being authenticated with in LDAP.
  • Password: The password associated with the User you are authenticating against LDAP with.

Authenticating with Kerberos

In order to authenticate with KERBEROS, set the following connection properties:

  • AuthScheme: Set this to KERBEROS.
  • KerberosKDC: The Kerberos Key Distribution Center (KDC) service used to authenticate the user.
  • KerberosRealm: The Kerberos Realm used to authenticate the user with.
  • KerberosSPN: The Service Principal Name for the Kerberos Domain Controller.
  • KerberosKeytabFile: The Keytab file containing your pairs of Kerberos principals and encrypted keys.
  • User: The user who is authenticating to Kerberos.
  • Password: The password used to authenticate to Kerberos.

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 Presto Data

Create a new Ruby file (for example: PrestoSelect.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 Presto Source','','') #execute a SELECT query and store the result set resultSet = cnxn.execute("SELECT FirstName, LastName FROM Customer WHERE Id = '123456789'") #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 Presto data with Ruby. To do so, simply run your file from the command line:

ruby PrestoSelect.rb Writing SQL-92 queries to Presto allows you to quickly and easily incorporate Presto data into your own Ruby applications. Download a free trial today!