Каковы преимущества установки "hive.exec.parallel" в false в Hive?
Я узнал, что когда hive.exec.parallel установлено в true в hive i.e
set hive.exec.parallel=true;
тогда независимые задачи в запросе могут выполняться параллельно.
Благодаря Qubole для этого:
![hive parallel execution]()
Есть ли какие-либо преимущества при установке этого параметра в false?
Я буду перебирать себя здесь: Очевидно, по возможности, вы хотели бы запускать вещи параллельно и иметь большую пропускную способность. Почему кто-то установил этот параметр в false - есть ли и недостатки?
Ответы
Ответ 1
Это просто параметр, потому что, когда он появился, было неясно, насколько он стабилен, и поэтому вы должны быть в состоянии отключить его. Как только достаточное количество людей попробовали его и нашли стабильным, по умолчанию установлено значение true:
https://issues.apache.org/jira/browse/HIVE-1033
В настоящее время нет реального недостатка.
Ответ 2
Mayank, это свойство также имеет преимущества с некоторым состоянием звезды. Я хочу сказать, что у Hive есть функция блокировки базы данных, а несколько запросов, запущенных в этой базе данных.
Например -
У вас есть сложный запрос с несколькими этапами работа в одной базе данных, где свойство Parallel может увеличить вашу но он также создаст " LOCK" на базе данных, которая может остановить другие процессы, которые работают в одной базе данных на время его собственного исполнения.
Недавно я столкнулся с этой проблемой и решил сделать это свойство " FALSE".
Надеюсь, этот ответ поможет вам понять, в каком сценарии мы должны сделать это ложным.
Ответ 3
По моему опыту, единственным недостатком является использование ресурсов. Если у вас ограниченные ресурсы, может быть лучше, если запросы будут выполняться серийно. Когда запросы выполняются параллельно, один запрос может одновременно управлять несколькими заданиями, что может привести к голоду в кластере ресурсов. Если вам не нужна скорость и у вас есть кластер с большой рабочей нагрузкой, может быть лучше, если все будет работать серийно.