java - 通过 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 客户端。
解决方案
推荐阅读
- dart - 基于流数据的小部件操作
- amazon-web-services - AWS Sagemaker:可以修改现有的 train_image 演示吗?
- label - GtkLabel 不使用属性 visible = false 隐藏
- java - 如何在抛出异常时在休眠中执行事务
- python - 如何为 matplotlib.pyplot 添加边界?
- java - Jenkins中带有动态文件夹的附件?
- javascript - (node:199408) DeprecationWarning: Collection#find: 传递一个函数
- laravel - Laravel Hyn\多租户数据库 [租户] 未配置
- python - 我如何将文件读入字典然后排序和添加索引?
- python-3.x - 如何规避exec()的安全风险