First of all, thanks for you answer.

I have exactly the same JDBC code. After increase the heap size, it's getting better but I have now a new error :

org.apache.thrift.transport.TTransportException
at org.apache.thrift.transport.TIOStreamTransport.read(TIOStreamTransport.java:132)
    at org.apache.thrift.transport.TTransport.readAll(TTransport.java:84)
at org.apache.thrift.protocol.TBinaryProtocol.readStringBody(TBinaryProtocol.java:352) at org.apache.thrift.protocol.TBinaryProtocol.readMessageBegin(TBinaryProtocol.java:213) at org.apache.hadoop.hive.service.ThriftHive$Client.recv_execute(ThriftHive.java:72) at org.apache.hadoop.hive.service.ThriftHive$Client.execute(ThriftHive.java:57)
    at com.tubemogul.rtb.datastore.HiveDAO.testThrift(HiveDAO.java:62)
at com.tubemogul.rtb.daemon.ImportDataThread.run(ImportDataThread.java:54)
    at java.lang.Thread.run(Thread.java:619)

On this one, I have no idea ...

Francois

Le 7/28/2010 3:04 PM, Todd Lee a écrit :
to use Hive with JDBC, you should probably do something like this,

Connection con = DriverManager.getConnection("jdbc:hive://localhost:10000/default", "", "");
Statement stmt = con.createStatement();
String sql = "show tables;"
ResultSet res = stmt.executeQuery(sql);
...

for OOM error, try increase the heap size in Hadoop by uncommenting this line in hadoop-env.sh

export HADOOP_HEAPSIZE=2000

Cheers,
T

On Wed, Jul 28, 2010 at 1:00 PM, Francois LAGIER <[email protected] <mailto:[email protected]>> wrote:

     Hello everybody,

    I just start working on HIVE so maybe my question will be stupid
    but for the moment I am completely stuck so ...

    I try to create a Java app, and try to launch some query on my
    Hive Server.
    After reading the wiki, I try with JDBC and Thrift.

    For the moment, I just try to connect to the server, to launch a
    very basic query ("Show tables") and display the result in my console.
    In the both case, JDBC and Thrift, I have always the same result :

    Exception in thread "ImportDataModule" java.lang.OutOfMemoryError:
    Java heap space
       at
    
org.apache.thrift.protocol.TBinaryProtocol.readStringBody(TBinaryProtocol.java:296)
       at
    
org.apache.thrift.protocol.TBinaryProtocol.readMessageBegin(TBinaryProtocol.java:203)
       at
    
org.apache.hadoop.hive.service.ThriftHive$Client.recv_execute(ThriftHive.java:72)
       at
    org.apache.hadoop.hive.service.ThriftHive$Client.execute(ThriftHive.java:57)
       at com.tubemogul.rtb.datastore.HiveDAO.testThrift(HiveDAO.java:59)
       at
    com.tubemogul.rtb.daemon.ImportDataThread.run(ImportDataThread.java:54)
       at java.lang.Thread.run(Thread.java:619)

    And this is my function :

    TTransport transport;
    try {
       transport = new TSocket("my-server", 9999);
       TProtocol protocol = new TBinaryProtocol(transport);
       HiveClient client = new HiveClient(protocol);
       transport.open();
       client.execute("SHOW TABLES");
       //List<String> a = client.fetchAll();
       transport.close();
    } catch (HiveServerException e) {
       // TODO Auto-generated catch block
       e.printStackTrace();
    } catch (TException e) {
       // TODO Auto-generated catch block
       e.printStackTrace();
    }


    Now, I really hope one of you already have this problem and
    already fix it.
    I am sorry if you already talk about that in one of your email but
    I didn't find something to fix that,

    Thanks in advance,

    Francois



Reply via email to