如何在Hadoop上运行Hive查询时停止特定的工作?

时间:2011-12-02 04:59:07

标签: hadoop hive

情景:

When I run enter the query on Hive CLI, I get the errors as below:

查询:

**$ bin/hive -e "insert overwrite table pokes select a.* from invites a where a.ds='2008-08-15';"** 

错误是这样的:

  

总MapReduce作业= 1       从1开始工作1       减少任务的数量设置为0,因为没有减少运算符       开始工作= job_201111291547_0013,跟踪网址= http://localhost:50030/jobdetails.jsp?jobid=job_201111291547_0013       杀死命令= C:\ cygwin \ home \ Bhavesh.Shah \ hadoop-0.20.2 / bin / hadoop job   -Dmapred.job.tracker = localhost:9101 -kill job_201111291547_0013       2011-12-01 14:00:52,380第1阶段地图= 0%,减少= 0%       2011-12-01 14:01:19,518第一阶段地图= 100%,减少= 100%       结束工作= job_201111291547_0013有错误       FAILED:执行错误,从org.apache.hadoop.hive.ql.exec.MapRedTask返回代码2

问题:

所以我的问题是如何停止工作?在这种情况下,作业是:job_201111291547_0013 请帮助我,以便我可以删除这些错误并尝试下一步。 感谢。

4 个答案:

答案 0 :(得分:12)

您可以通过运行hadoop job -kill <job_id>停止作业。

答案 1 :(得分:3)

hadoop job -kill现已弃用。 请改用mapred job -kill

答案 2 :(得分:1)

启动的作业的日志跟踪也提供了杀死作业的命令。您可以使用它来终止作业。 但是,这会发出警告,hadoop job -kill已被弃用。您也可以使用

mapred job -kill

答案 3 :(得分:0)

还有一个选择是使用Curl等实用程序从浏览器或命令行尝试WebHCat API。这是WebHCat API to delete a hive job

另请注意,该链接表示

  

作业不会立即删除,因此返回的信息可能不会反映删除,如我们的示例所示。使用GET jobs /:jobid监视作业并确认它最终被删除。