Created on 10-03-2016 01:50 AM - edited 09-16-2022 03:42 AM
Hi,
I am getting the following error while connecting to Hive using Jdbc with org.apache.hadoop.hive.jdbc.HiveDriver.
Help Me to solve this.
Exception in thread "main" java.sql.SQLException: org.apache.thrift.transport.TTransportException
at org.apache.hadoop.hive.jdbc.HiveStatement.executeQuery(HiveStatement.java:191)
at org.apache.hadoop.hive.jdbc.HiveStatement.execute(HiveStatement.java:127)
at org.apache.hadoop.hive.jdbc.HiveConnection.configureConnection(HiveConnection.java:126)
at org.apache.hadoop.hive.jdbc.HiveConnection.<init>(HiveConnection.java:121)
at org.apache.hadoop.hive.jdbc.HiveDriver.connect(HiveDriver.java:104)
at java.sql.DriverManager.getConnection(DriverManager.java:571)
at java.sql.DriverManager.getConnection(DriverManager.java:215)
at com.cloudera.hive.HiveConnectDB.main(HiveConnectDB.java:18)
Created 10-05-2016 05:37 AM
Hi,
Maybe you could share the java source code doing the connection ?
Here is a really small working sample :
public class ManageHive {
private static String driverName = "org.apache.hive.jdbc.HiveDriver";
private static Logger logger = Logger.getLogger(ManageHive.class);
public static Connection getConnection(LoadProperties prop, String user) throws ClassNotFoundException, SQLException {
String hiveJdbc = prop.getPropertyByName("hive_jdbc");
try {
Class.forName(driverName);
} catch (ClassNotFoundException e) {
e.printStackTrace();
throw e;
}
Connection conn2 = DriverManager.getConnection(hiveJdbc+"/extraction", user, "");
return conn2;
}
public static void execSql(LoadProperties prop, String user, String sql) throws SQLException, ClassNotFoundException {
Connection maConn = getConnection(prop,user);
Statement stmt = maConn.createStatement();
int result = stmt.executeUpdate(sql);
if ( result == Statement.EXECUTE_FAILED ) {
throw new SQLException("Erreur d'execution.");
}
}
}
Created 10-05-2016 05:37 AM
Hi,
Maybe you could share the java source code doing the connection ?
Here is a really small working sample :
public class ManageHive {
private static String driverName = "org.apache.hive.jdbc.HiveDriver";
private static Logger logger = Logger.getLogger(ManageHive.class);
public static Connection getConnection(LoadProperties prop, String user) throws ClassNotFoundException, SQLException {
String hiveJdbc = prop.getPropertyByName("hive_jdbc");
try {
Class.forName(driverName);
} catch (ClassNotFoundException e) {
e.printStackTrace();
throw e;
}
Connection conn2 = DriverManager.getConnection(hiveJdbc+"/extraction", user, "");
return conn2;
}
public static void execSql(LoadProperties prop, String user, String sql) throws SQLException, ClassNotFoundException {
Connection maConn = getConnection(prop,user);
Statement stmt = maConn.createStatement();
int result = stmt.executeUpdate(sql);
if ( result == Statement.EXECUTE_FAILED ) {
throw new SQLException("Erreur d'execution.");
}
}
}
Created on 10-05-2016 05:46 AM - edited 10-05-2016 05:52 AM
Hi Thanks for the Reply,I solved the issue.I have used following driver
public static String driverName = "com.cloudera.hive.jdbc41.HS1Driver";and added other required jars too.