Created on 01-01-2018 06:25 PM
package com.big.data.hiveserver2; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.security.UserGroupInformation; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.io.IOException; import java.sql.*; public class HiveServer2Client { private static final Logger LOGGER = LoggerFactory.getLogger(HiveServer2Client.class); private static String HIVESERVE2DRIVER = "org.apache.hive.jdbc.HiveDriver"; public static void main(String[] args) throws SQLException, IOException { // set the configuration Configuration conf = new Configuration(); conf.set("hadoop.security.authentication", "Kerberos"); UserGroupInformation.setConfiguration(conf); // /etc/security/keytab/hive.service.keytab is from local machine, This is the user which is executing the command UserGroupInformation.loginUserFromKeytab("hive/cluster20182.field.fieldorg.com@REALM_NAME", "/etc/security/keytab/hive.service.keytab"); // load the driver try { Class.forName(HIVESERVE2DRIVER); } catch (ClassNotFoundException e) { LOGGER.error("Driver not found"); } Connection con = DriverManager.getConnection("jdbc:hive2://cluster20181.field.fieldorg.com:2181,cluster20180.field.fieldorg.com:2181,cluster20182.field.fieldorg.com:2181/;serviceDiscoveryMode=zooKeeper;zooKeeperNamespace=hiveserver2;principal=hive/cluster20182.field.fieldorg.com@REALM_NAME"); Statement stmt = con.createStatement(); // Table Name String tableName = "testHiveDriverTable"; stmt.execute("drop table " + tableName); LOGGER.info("Table {} is dropped", tableName); stmt.execute("create table " + tableName + " (key int, value string)"); // show tables String sql = "show tables '" + tableName + "'"; LOGGER.info("Running {} ", sql); ResultSet res = stmt.executeQuery(sql); if (res.next()) { LOGGER.info(" return from HiveServer {}", res.getString(1)); } // describe table sql = "describe " + tableName; LOGGER.info("DESCRIBE newwly created table sql command : {}" + sql); res = stmt.executeQuery(sql); while (res.next()) { System.out.printf("HOOOO"); LOGGER.info("Return from HiveServer {}", res.getString(1) + "\t" + res.getString(2)); } // close the connection con.close(); } } Dependency: <dependencies> <dependency> <groupId>org.apache.hive</groupId> <artifactId>hive-jdbc</artifactId> <version>1.2.1000.2.6.0.3-8</version> </dependency> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-common</artifactId> </dependency> </dependencies> Repo : http://repo.hortonworks.com/content/groups/public <br>