Hi,

We solved this problem in the following way (this is really not a simple
solution):
- start hive query in a different thread
- we generated an unique id for the query and used the SET key=value;
command (before the long query command) to give this unique id to the MR
jobs related to the query
- main thread waits for the completion or the cancellation sign (comes from
the gui or anywhere else)
- if cancellation sign comes, then we will kill the running query through
the JobTracker
  - list all jobs and search the job which contains the previously
configured unique id
  - kill that job
  - that will cause exception on the query thread

It's a little bit ugly, but thrift doesn't support async communication and
so "statement.cancel()" function can't be supported/implemented.

Gabor



On Thu, Feb 7, 2013 at 2:21 PM, Nitin Pawar <nitinpawar...@gmail.com> wrote:

> hive waits till the hadoop job is completed. so unless you kill the job of
> jdbc connection is dropped I don't see any other way to reduce the load on
> application.
> best when you think its  long enough, you will need to find a way to kill
> the hadoop job. That will automatically release the resources in the
> pipeline
>
>
> On Thu, Feb 7, 2013 at 6:35 PM, Kugathasan Abimaran <
> abimar...@hsenidmobile.com> wrote:
>
>> Hi All,
>>
>>
>> Are there anyways to close the long running hive query through hive-jdbc?
>> Since when ever Hive hangs, my application also hang, So I want to close
>> the hive connection forcefully after a certain time.
>>
>>
>>
>> --
>> Thanks,
>> With Regards,
>>
>> Abimaran
>>
>
>
>
> --
> Nitin Pawar
>

Reply via email to