У меня есть несколько запросов на улей, которые моя система выполняет на регулярной основе. Когда вы смотрите на трекер задания, они отображаются как "SELECT field, other_field..... (Stage-1)" и тому подобное. Это не очень полезно для меня, поэтому я добавил:
set mapred.job.name = more helpful name;
к запросу. Теперь я могу отличить их лучше. Однако теперь мои запросы, которые разбиваются на несколько этапов, отображаются как одно и то же имя. То, что мне идеально нравится, - это что-то вроде линии set mapred.job.name = more helpful name (Stage-%d);
где% d будет заменено номером текущего этапа.
Возможно ли это, и кто-нибудь знает, как?
Как я могу управлять именем названия улья, но сохранить информацию о сцене?
Ответ 1
Я не уверен, что есть способ реализовать именно то, что вы хотите, но я могу предложить что-то еще.
Вместо использования set mapred.job.name
вы можете добавить комментарий в начале запроса с помощью more helpful name
следующим образом: -- this is a more helpful name
SELECT field, other_field ....
Затем в jobtracker вы увидите -- this is a more helpful name ..... (Stage-%d)
"
Ответ 2
Я нашел этот сайт: https://cwiki.apache.org/confluence/display/Hive/AdminManual+Configuration
на нем есть свойство, называемое:
hive.query.string
поэтому set hive.query.string = even more helpful name
должен работать.
Он отлично работает для меня.
Ответ 3
Я знаю, что это очень поздний ответ, но, если это поможет, дайте мне знать.
Это происходит потому, что HIVE не позволяет устанавливать определенные параметры во время выполнения. Если вы хотите установить его, выполните следующие действия:
- Войдите в интерфейс Ambari в качестве администратора.
- Перейдите в конфигурацию улья
- Откройте пользовательский HiveSite.xml
- Добавьте следующую пару значений ключа
КЛЮЧ: hive.security.authorization.sqlstd.confwhitelist.append
VALUE: mapred.job.name - Перезапустите службу поддержки HIVE.
В этой конфигурации вы можете любой пары ключ-значение, для которой вы получаете эту ошибку времени выполнения