jdbc:hive2://hive-prod.myco.com:10000/sales_db;auth=noSasl Maven (pom.xml):
beeline -u "jdbc:hive2://<host>:<port>/<db>;principal=hive/_HOST@REALM" If beeline works, your Java code will too. | Component | Value / Pattern | |--------------------|-------------------------------------------------------| | JDBC prefix | jdbc:hive2:// | | Host:Port | <hive-server>:10000 (or HTTP 10001) | | Auth param | auth=noSasl / principal=... / user=... | | Transport mode | binary (default) or transportMode=http | | HA (ZooKeeper) | serviceDiscoveryMode=zooKeeper + ZooKeeper hosts | | Java driver | org.apache.hive.jdbc.HiveDriver (auto-loaded) | hive server address java
beeline -u "jdbc:hive2://<host>:<port>/<db>;auth=noSasl" Or with Kerberos: jdbc:hive2://hive-prod
a) No SASL (plain, insecure – test only) jdbc:hive2://host:10000/default;auth=noSasl Use empty user/pass. b) Kerberos (production, secure) jdbc:hive2://host:10000/default;principal=hive/_HOST@REALM.COM Java side: | | Transport mode | binary (default) or
<dependency> <groupId>org.apache.hive</groupId> <artifactId>hive-jdbc</artifactId> <version>3.1.3</version> <!-- Use your Hive version --> </dependency>
String url = "jdbc:hive2://hive-secure.myco.com:10000/secure_db;" + "principal=hive/hive-secure.myco.com@MYCO.REALM;" + "ssl=true;" + "sslTrustStore=/path/to/truststore.jks;" + "trustStorePassword=changeit"; try (Connection conn = DriverManager.getConnection(url); Statement stmt = conn.createStatement()) ResultSet rs = stmt.executeQuery("SELECT * FROM sales LIMIT 10"); while (rs.next()) System.out.println(rs.getString(1) + "\t" + rs.getInt(2));
implementation 'org.apache.hive:hive-jdbc:3.1.3' hive-jdbc pulls Hadoop & Hive dependencies – make sure versions match your server. 4. Full Java Connection Example (No Authentication) For development clusters without Kerberos/LDAP: