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.
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 |
- 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.
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.Example
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
.'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.
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
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
- 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.