Как установить имя задания mapreduce для дочерних заданий запроса куста? - PullRequest
0 голосов
/ 10 марта 2020

наш запрос улья создает 9 заданий уменьшения карты и 17 этапов (когда я запустил команду EXPLAIN, в результате было показано 17 этапов и зависимостей этапов). Каждое дочернее задание имеет одинаковые mapreduce.job.name

Чтобы различать guish этих дочерних заданий, есть ли способ установить mapreduce.job.name внутри запроса куста, чтобы для каждого задания я мог увидеть этап работы. имя существующего задания для всех 9 дочерних заданий:

Job.Name : hive_query_map_reduce_job

Можно ли получить имена заданий в трекере заданий как

Job.Name : hive_query_map_reduce_job_stage_1
Job.Name : hive_query_map_reduce_job_stage_2
Job.Name : hive_query_map_reduce_job_stage_3
...

Я ссылался Как управлять название работы улья, но сохранить информацию о сцене? , но это не сработало, как ожидалось. Я попытался установить mapreduce.job.name внутри запроса в нескольких местах с разными значениями, но все дочерние задания принимают последнее назначенное мной значение. Скажем, мой файл запроса hiveQuery.q

hiveQuery.q

set hiveconf: mapreduce.job.name = "уникальное имя 1".
...
- некоторые операторы запроса
...
set hiveconf: mapreduce.job.name = "уникальное имя 2".
...
- некоторые операторы запроса
. ..
set hiveconf: mapreduce.job.name = "уникальное имя 3".

Для вышеуказанного запроса все 9 заданий mapreduce приняли "unique name 3" в качестве имени задания. Я также пробовал hive.query.name и hive.query.string, но это не помогло. Это возможно? Кто-нибудь знает, как этого добиться?

...