首页 > 解决方案 > 通过 JDBC 找出插入语句的 Yarn application_id

问题描述

我正在通过 Hive JDBC 客户端执行插入查询。我执行的方法是: boolean execute(String sql) throws SQLException[this]。这是一个阻塞调用。我知道经过一些跳跃后,Hadoop 集群上会启动一个 Map-Reduce 作业。

问题:现在,根据我的要求,如果 MR 作业没有在规定的时间内完成,我需要终止它。目前,我知道杀死 MR 工作的唯一方法是通过 Yarn, yarn application -kill application_1428487296152_25597 OR hadoop job -kill $jobId。但在上述情况下,由于我是通过 JDBC 执行的,我既没有获得 Yarn 应用 ID,也没有获得 Hadoop 作业 ID。我应该怎么做?

PS:我有一系列 MR 应用程序在一个工作流中运行。超时规范。处于工作流级别。因此,需要按需终止流量。

PPS:我使用的是 1.2.1 版的 Hive-JDBC 客户端。

标签: javahadoopjdbchivehadoop-yarn

解决方案


推荐阅读