Я выполняю запрос вставки через клиент 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, ни идентификатор задания Hadoop.Как мне это сделать?
PS: у меня есть серия MR-приложений, работающих в одном рабочем процессе.Спецификация тайм-аута.находится на уровне рабочего процесса.Следовательно, может потребоваться уничтожение потоков по требованию.
PPS: я использую версию 1.2.1 клиента Hive-JDBC.