Hi,

can you try with just the JDBC client first? (you shouldn't need to use any
of those TTransport code).

make sure you have hive-jdbc-0.7.0.jar and libfb303.jar in your classpath.
it might also help if you post the command you run to start Hive Server and
the server logs.

Thanks,
T

On Wed, Jul 28, 2010 at 8:43 PM, Francois LAGIER
<[email protected]>wrote:

> Sorry I rexplain my situation.
>
> I try to connect from an Java app to a Hive server.
>
> I start with the JDBC solution and I found the Java Heap Space problem.
> After that, I try with the Thrift client and I had also the same problem.
>
> After adding more memory I have this problem exception in the both case :
>
> 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)
>>
>
>  Thanks
>
> On 28 juil. 2010, at 20:19, Todd Lee wrote:
>
> sorry I am a little bit confused - so are you trying to connect to Hive
> server via a JDBC client *or* a Thrift client?
>
> were you able to run the above JDBC client code without any problem?
>
> Cheers,
> Todd
>
> On Wed, Jul 28, 2010 at 3:18 PM, Francois LAGIER <
> [email protected]> wrote:
>
>>  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]> 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
>>>
>>
>>
>>
>
> Francois LAGIER
> [email protected]
>
>
>
>

Reply via email to