Drill ODBC Driver

HPE Ezmeral Data Fabric provides a Drill ODBC driver that you can download and use on all platforms to connect BI tools, such as Tableau, to Drill.

Use the version of the driver that correlates with the version of the installed Drill server. Although older versions of the driver may be able to connect to an upgraded version of Drill, the older drivers do not include all the server features available in the newer drivers.

The following table provides links to the download locations for the Drill ODBC drivers that correlate with each of the Drill versions listed:
IMPORTANT
To access the Data Fabric internet repository, you must specify the email and token of an HPE Passport account. For more information, see Using the HPE Ezmeral Token-Authenticated Internet Repository.
Drill Version ODBC Version
1.16.0.100 - 1.20.3.100 1.5.1.1002
1.16.0, 1.16.1.0 1.3.22.1055
1.15.0 1.3.22.1055
1.14.0 1.3.22.1055
1.13.0 1.3.16.1049
1.12.0 1.3.15.1048
1.11.0 1.3.15.1046
1.10.0 1.3.8.1030
IMPORTANT
  • Detailed documentation for the Drill ODBC driver is available at Drill ODBC Driver.
  • The 32-bit version of the Drill ODBC driver does not support MapR-SASL. MapR-SASL is only supported in the 64-bit Drill ODBC driver.
  • The Drill ODBC driver does not support MapR-SASL for ZooKeeper connections. The Drill ODBC driver only supports MapR-SASL when connecting directly to Drillbits (Drill nodes).
  • If you plan to use MapR-SASL for authentication on Windows, review Using MapR-SASL for Authentication on Windows for additional information and instructions.

Using MapR-SASL for Authentication on Windows

Drill is automatically configured with default security when you install Drill 1.11 and later on a secure (version 6.x or later) cluster configured with the default security. To successfully connect to Drill from a Windows ODBC client, the data-fabric client must be installed and a mapr user ticket must exist on the Windows client in the %TEMP% directory or in the location specified by the $MAPR_TICKETFILE_LOCATION environment variable.

The ODBC driver locates user tickets for the current Windows user in the default ticket location, %TEMP%, or in the location specified by the environment variable, $MAPR_TICKETFILE_LOCATION. See Tickets and Generating a MapR User Ticket for more information.

You can either copy a user ticket that was generated on the cluster into the default location (%TEMP%), or you can run the maprlogin command to generate the ticket on the Windows client.

If you copy a user ticket that was generated on the cluster, you must copy the mapr-clusters.conf file to the client machine. Copy the file from /opt/mapr/conf/mapr-clusters.conf to C:/opt/mapr/conf/mapr-clusters.conf on the client machine. Verify that the cluster to which the client is connecting is listed as the first entry in the mapr-clusters.conf file. Also, if the cluster is secure, verify that secure=true for the cluster entry in the file.
NOTE
The ODBC user must be the same as the Windows user that created the ticket.

Example

If you want to connect to Drill as the mapr user, you must create a ticket for the mapr user, as shown:
$ maprlogin password -user mapr
[Password for user 'mapr' at cluster 'Cluster1':]
The credentials for the mapr user in Cluster1 are written to /tmp/maprticket_1000.
Next, place the ticket in the %TEMP% directory on the Windows client. For example, the default location for a Windows 10 user named Tabetha Stephens is shown:
'C:\Users\TABETH~1\AppData\Local\Temp/maprticket_Tabetha Stephens'

To override this location, set the "MAPR_TICKETFILE_LOCATION" global variable for the Windows user.

NOTE
Using the MAPR_TICKETFILE_LOCATION is recommended because the %TEMP% directory differs between Windows versions. You may also want to set the MAPR_TICKETFILE_LOCATION per user on the operating system to prevent all users from using the same user ticket on the client.

Driver Limitations

When using MapR-SASL with JDBC or ODBC drivers, there is no way to specify the target cluster name as part of the connection parameters. MapR-SASL reads the first entry in the /opt/mapr/conf/mapr-clusters.conf file and assumes it is the target cluster name.

For example, if the mapr-clusters.conf file has an entry for 'cluster1' followed by an entry for 'cluster2' and you want to connect to a node in 'cluster2', authentication fails. As a workaround, manually switch the order of entries in the mapr-clusters.conf file.

Driver Issues

The following errors can occur in RHEL 8, Rocky Linux 8, CentOS, and CentOS 8 due to an incompatibility between the bundled libcrypto.so ODBC driver library and the libk5crypto.so system library:
  • SQLDriverConnect = [iODBC][Driver Manager]/lib64/libk5crypto.so.3: \
    undefined symbol: EVP_KDF_ctrl, version OPENSSL_1_1_1b (0) SQLSTATE=00000
  • [unixODBC][Driver Manager]Can't open lib '/opt/mapr/drill/lib/64/libdrillodbc_sb64.so':\
    file not found
Use either of the following methods to resolve the issue:
  • Remove the bundled crypto library from the ODBC driver RPATH:
    rm /opt/mapr/drill/lib/64/ThirdParty/libcrypto.so.1.1
  • Make the dynamic linker load the system version of the crypto library with a higher priority than the bundled ODBC library. How this is done depends on the version of the dynamic linker.