If you're able to connect to beeline, you should be able to connect to hive using same port number and host from DBeaver. Hive listener port by default is configured on 10000, but there's a possibility that your admin can change the port number. Check the port number in hive-site.xml, or get it from admin.
- The Simba Hive driver supports Active Directory Kerberos on Windows.
- Using Kerberos authentication from Unix Machines on the same domain. This guide assumes a working Kerberos setup already exists. Run the following code on a Windows machine with working Kerberos authentication to verify if the aforementioned is true. The code will print 'Authentication Scheme: KERBEROS' to the console if successful.
- BigQuery Blogging CSV DBeaver EGPU Hive isql Kerberos ODBC Oracle Python SQL Tableau. Data Visualization. Machine Learning. R-richmond Data Wizard A large tech company. R-richmond is an analytically minded individual who is currently pursuing data analytics.
The CData JDBC Driver for Hive implements JDBC standards that enable third-party tools to interoperate, from wizards in IDEs to business intelligence tools. This article shows how to connect to Hive data with wizards in DBeaver and browse data in the DBeaver GUI.
Create a JDBC Data Source for Hive Data
Follow the steps below to load the driver JAR in DBeaver.
- Open the DBeaver application and, in the Databases menu, select the Driver Manager option. Click New to open the Create New Driver form.
- In the Driver Name box, enter a user-friendly name for the driver.
- To add the .jar, click Add File.
- In the create new driver dialog that appears, select the cdata.jdbc.apachehive.jar file, located in the lib subfolder of the installation directory.
- Click the Find Class button and select the ApacheHiveDriver class from the results. This will automatically fill the Class Name field at the top of the form. The class name for the driver is cdata.jdbc.apachehive.ApacheHiveDriver.
- Add jdbc:apachehive: in the URL Template field.
Create a Connection to Hive Data
Follow the steps below to add credentials and other required connection properties.
- In the Databases menu, click New Connection.
- In the Create new connection wizard that results, select the driver.
- On the next page of the wizard, click the driver properties tab.
Enter values for authentication credentials and other properties required to connect to Hive.
Set the Server, Port, TransportMode, and AuthScheme connection properties to connect to Hive.Built-in Connection String Designer
For assistance in constructing the JDBC URL, use the connection string designer built into the Hive JDBC Driver. Either double-click the JAR file or execute the jar file from the command-line.
java -jar cdata.jdbc.apachehive.jar
Fill in the connection properties and copy the connection string to the clipboard.
Below is a typical connection string:
jdbc:apachehive:Server=127.0.0.1;Port=10000;TransportMode=BINARY;
Query Hive Data
You can now query information from the tables exposed by the connection: Right-click a Table and then click Edit Table. The data is available on the Data tab.
You can find installation instructions here
You can find the latest drivers on the Cloudera website
mkdir ~/.dbeaver-drivers/cloudera-hive/
- Navigate to
Database > Driver Manager > New
- Add all the files from
~/.dbeaver-drivers/cloudera-hive/
- Driver name:
Hive-Cloudera
(for labeling only) - Class name:
com.cloudera.hive.jdbc41.HS2Driver
(at the time of this writing) - Default port:
10000
- URL template:
jdbc:hive2://{host}:{port}/{database};AuthMech=1;KrbRealm=FOO.BAR;KrbHostFQDN={server}; KrbServiceName=hive;KrbAuthType=2
- Note you need to change
FOO.BAR
to match your krb5.conf settings
- Note you need to change
Dbeaver Kerberos Hive Windows
- In the menu bar Navigate to
Database > New Connection
- Select Hive-Cloudera
- Fill in the appropriate values for host & database (I set database to default)
- Set server to be your KrbHostFQDN
- Leave your user name & password blank
- Test connection
- Press next, next, & change the name of this connection as you see fit
- Press finish
Congrats you’ve successfully connected to hive using kerberos authentication!
Dbeaver Hive Kerberos
If you are receiving [Cloudera][HiveJDBCDriver](500168) Error creating login context using ticket cache: Unable to obtain Principal Name for authentication
make sure to check the following
- Ensure that you have the latest cryptography libraries installed
- Java 9 includes these libraries by default
- That you’ve configured your
/etc/krb5.conf
successfully- If you’ve done this correctly you should be able to run
kinit
in terminal and create a ticket without issue
- If you’ve done this correctly you should be able to run
For Windows adding the following lines to your dbeaver.ini may be necessary as well
-Djava.security.krb5.conf=c:kerberoskrb5.ini
- note: this is the windows equivalent of
/etc/krb5.conf
- note: this is the windows equivalent of
-Djava.security.auth.login.config=c:kerberosjaas.conf
success has also been reported with the following jaas.conf file & keytab usage