Home | About | Sematext search-lucene.com search-hadoop.com
NEW: Monitor These Apps!
elasticsearch, apache solr, apache hbase, hadoop, redis, casssandra, amazon cloudwatch, mysql, memcached, apache kafka, apache zookeeper, apache storm, ubuntu, centOS, red hat, debian, puppet labs, java, senseiDB
 Search Hadoop and all its subprojects:

Switch to Threaded View
Hive >> mail # user >> How to terminate a running HIve Query? (Executed with JDBC, Hive Server 2)


Copy link to this message
-
Re: How to terminate a running HIve Query? (Executed with JDBC, Hive Server 2)
Yes. that's a great idea there with the comment.  And yes i wouldn't
disagree its a workaround to do all this.

Would be nice if the HiveServer2 could return a job_id before the MR job
kicks off (like the hive local client does) then at least you'd have an
unequivocal job_id.  But ultimately until the jdbc client can implement
cancel() correctly I don't know of an alternative and even then sometimes
the connection between client and server can get broken and you'd have to
fall back to a more ruthless way to kill the job on the server as like
above.

so, yeah, might have to go with rolling your own here.  I like it! :)
On Tue, Jun 25, 2013 at 10:49 AM, Christian Schneider <
[EMAIL PROTECTED]> wrote:

> Hi Stephen, thanks for the anser.
>
> Identifying to the JobId is not that easy. I also tought about this.
> Our application adds now a unique prefix to all queries. With this we can
> identify the job.
>
> Smht. like this:
>
> -- UUID: 3242-414-124-14...
> SELECT * FROM foobar;
>
> Now, our application can filter by Job Names starting with: -- UUID:
> 3242-414-124-14... to kill the query.
> But i think this is more a workaround then a reliable, or?
>
> Best Regards,
> Christian.
>
>
> 2013/6/25 Stephen Sprague <[EMAIL PROTECTED]>
>
>> Well... if the query created a MR job on your cluster then there's always:
>>
>> 1. use jobtracker to find your job id.
>> 2. use hadoop job -kill <job_id>  to nuke it.
>>
>> you're saying there's no way to interrupt/kill the query from the
>> client?  That very well may be the case.
>>
>>
>> On Tue, Jun 25, 2013 at 10:22 AM, Christian Schneider <
>> [EMAIL PROTECTED]> wrote:
>>
>>> I figured out that there are two implementations of the Hive JDBC driver
>>> in the hive-jdbc-0.10-cdh4.2.0 jar.
>>>
>>> 1. org.apache.hadoop.hive.jdbc.HiveStatement
>>> 2. org.apache.hive.jdbc.HiveStatement
>>>
>>> The 1. implements .close() and .cancel() but it will not delete the
>>> running jobs on the cluster anyway.
>>>
>>> Any suggestions?
>>>
>>>
>>> 2013/6/25 Christian Schneider <[EMAIL PROTECTED]>
>>>
>>>> Hi,
>>>> is it possible to kill a running query (including all the hadoop jobs
>>>> behind)?
>>>>
>>>> I think it's not, because the Hive JDBC Driver doesn't implement
>>>> .close() and .cancel() on the (prepared) statement.
>>>>
>>>> This attached code shows the problem.
>>>>
>>>> Bevor the statement gets executed, it will spawn a Thread that tries to
>>>> stop the execution of the query after 10 sec.
>>>>
>>>> Are there any other ways to stop the job on the cluster?
>>>>
>>>> I could do it over the Job Client, but for that i need the JobId.
>>>>
>>>> Thanks a lot.
>>>>
>>>>
>>>> Best Regards,
>>>>
>>>> Christian.
>>>>
>>>
>>>
>>
>
NEW: Monitor These Apps!
elasticsearch, apache solr, apache hbase, hadoop, redis, casssandra, amazon cloudwatch, mysql, memcached, apache kafka, apache zookeeper, apache storm, ubuntu, centOS, red hat, debian, puppet labs, java, senseiDB