hive-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Carl Steinbach <c...@cloudera.com>
Subject Re: connecting remotely to hive via jdbc
Date Mon, 14 Dec 2009 13:18:06 GMT
Hi Ronan,

Your JDBC connection is failing because there is nothing listening on the
other end. You have to start the Hive server and tell it which port to
listen on before you can connect to it. Directions describing how to do this
are located here: http://wiki.apache.org/hadoop/Hive/HiveServer

Thanks.

Carl

On Mon, Dec 14, 2009 at 4:28 AM, Ronan Tobin <rtobin@specificmedia.com>wrote:

>  Hi all
>
> I am totally new to hive.....
>
> I am trying to get a remote connection to hive using jdbc.
>
> I am using the example provided in the documentation.
>
> I have copied all the jars required to my class path.
>
> When I try to make a connection I get the following error:
>
>
>
> ERROR exec.HiveHistory: Unable to create log directory /tmp/<my user name>
>
> Exception in thread "main" *java.sql.SQLException*: *
> org.apache.thrift.transport.TTransportException*: *
> java.net.ConnectException*: Connection refused: connect
>
>       at org.apache.hadoop.hive.jdbc.HiveDriver.connect(*
> HiveDriver.java:111*)
>
>       at java.sql.DriverManager.getConnection(Unknown Source)
>
>       at java.sql.DriverManager.getConnection(Unknown Source)
>
>       at com.org.smedia.HiveJdbcClient.main(*HiveJdbcClient.java:24*)
>
>
>
> I created a hdfs directory for /tmp/<my user name>
>
> And chmod g+w for the directory.
>
> But I still get the same error.
>
>
>
> Class as follows:
>
>
>
> import java.sql.SQLException;
>
> import java.sql.Connection;
>
> import java.sql.ResultSet;
>
> import java.sql.Statement;
>
> import java.sql.DriverManager;
>
>
>
> public class HiveJdbcClient {
>
>   private static String driverName =
> "org.apache.hadoop.hive.jdbc.HiveDriver";
>
>
>
>   /**
>
>    * @param args
>
>    * @throws SQLException
>
>    */
>
>   public static void main(String[] args) throws SQLException {
>
>       try {
>
>       Class.forName(driverName);
>
>     } catch (ClassNotFoundException e) {
>
>       // TODO Auto-generated catch block
>
>       e.printStackTrace();
>
>       System.exit(1);
>
>     }
>
>     Connection con = DriverManager.getConnection("jdbc:hive://<my server ip
> address>:10000/default", "", "");
>
>     Statement stmt = con.createStatement();
>
>     //String tableName = "testHiveDriverTable";
>
>     //stmt.executeQuery("drop table " + tableName);
>
>     //ResultSet res = stmt.executeQuery("create table " + tableName + "
> (key int, value string)");
>
>     // show tables
>
>     //String sql = "show tables '" + tableName + "'";
>
>     //System.out.println("Running: " + sql);
>
>     //res = stmt.executeQuery(sql);
>
>     //if (res.next()) {
>
>       //System.out.println(res.getString(1));
>
>     //}
>
>     // describe table
>
>     //sql = "describe " + tableName;
>
>     //System.out.println("Running: " + sql);
>
>     //res = stmt.executeQuery(sql);
>
>     //while (res.next()) {
>
>       //System.out.println(res.getString(1) + "\t" + res.getString(2));
>
>     //}
>
>
>
>     // load data into table
>
>     // NOTE: filepath has to be local to the hive server
>
>     // NOTE: /tmp/a.txt is a ctrl-A separated file with two fields per line
>
>     //String filepath = "/tmp/a.txt";
>
>     //sql = "load data local inpath '" + filepath + "' into table " +
> tableName;
>
>     //System.out.println("Running: " + sql);
>
>     //res = stmt.executeQuery(sql);
>
>
>
>     // select * query
>
>     String sql = "select * from <my table name>";
>
>     System.out.println("Running: " + sql);
>
>     ResultSet res = stmt.executeQuery(sql);
>
>     while (res.next()) {
>
>       System.out.println(String.valueOf(res.getInt(1)) + "\t" +
> res.getString(2));
>
>     }
>
>
>
>     // regular hive query
>
>     sql = "select count(1) from <my table name>";
>
>     System.out.println("Running: " + sql);
>
>     res = stmt.executeQuery(sql);
>
>     while (res.next()) {
>
>       System.out.println(res.getString(1));
>
>     }
>
>   }
>
> }
>
>
>
> Any ideas??
>
>
>
> Thanks
>
>
>
> R
>
>
>

Mime
View raw message