Параметры Hive on Spark

В данной статье описаны параметры, используемые для настройки взаимодействия Spark и Hive Metastore. Больше информации о назначении параметров и примерах их использования доступно в разделе Spark и Hive.

Параметр Описание Значение по умолчанию

hive.spark.job.monitor.timeout

Время ожидания монитора задач для получения состояния задачи Spark (в секундах)

60

hive.spark.dynamic.partition.pruning

При установке значения в true включается динамическое сокращение разделов (Dynamic Partition Pruning, DPP) для движка Spark. Таким образом, join для ключей разделов выполняется путем записи во временный HDFS-файл, который считывается позже при удалении ненужных разделов

false

hive.spark.dynamic.partition.pruning.map.join.only

Аналогично свойству hive.spark.dynamic.partition.pruning, однако активирует DPP только если join для секционированной таблицы может быть преобразован в MapJoin

false

hive.spark.dynamic.partition.pruning.max.data.size

Максимальный размер данных (в мегабайтах) для таблицы измерений, которая генерирует информацию о сокращении разделов. Если таблица достигает этого предела, оптимизация отключается

100

hive.spark.exec.inplace.progress

Позволяет обновлять прогресс выполнения задач Spark в терминале

true

hive.spark.use.ts.stats.for.mapjoin

При установке значения true оптимизация MapJoin в Hive/Spark использует статистику операторов TableScan в корне дерева операторов вместо родительских операторов ReduceSink оператора Join

false

hive.spark.explain.user

Определяет, показывать ли результат команды EXPLAIN на уровне пользователя для запросов Hive on Spark. Если опция включена, записывает в лог выходные данные EXPLAIN для запроса на уровне пользователя

false

hive.prewarm.spark.timeout

Время ожидания завершения прогрева исполнителей Spark в случае, если hive.prewarm.enabled=true (в миллисекундах)

5000

hive.spark.optimize.shuffle.serde

При установке значения true Hive on Spark регистрирует пользовательские сериализаторы для типов данных в случайном порядке. Это приводит к меньшему перемешиванию данных

false

hive.merge.sparkfiles

Объединяет небольшие файлы в конце преобразования Spark DAG

false

hive.spark.use.op.stats

Указывает, использовать ли статистику оператора для определения параллелизма reducer для Hive on Spark. Если установлено значение false, Hive использует статистику исходной таблицы для определения параллелизма reducer для всех reducer-задач первого уровня и максимальный параллелизм для всех остальных reducer-задач (второго уровня и выше). Установка значения false запускает альтернативный алгоритм для расчета количества разделов на перемешивание Spark. Этот новый алгоритм обычно приводит к увеличению количества разделов за одно перемешивание

true

hive.spark.use.ts.stats.for.mapjoin

При установке значения true MapJoin-оптимизация в Hive/Spark будет использовать статистику операторов TableScan в корне дерева операторов вместо родительских операторов ReduceSink оператора Join. Использование значения true полезно, когда данные статистики оператора, используемые для обычного join-to-map преобразования, неточны

false

hive.spark.use.groupby.shuffle

При установке значения true использует метод RDD#groupByKey() для группирования. Если установлено значение false, используется метод RDD#repartitionAndSortWithinPartitions(). Хотя groupByKey() имеет лучшую производительность при выполнении группирования, он может потреблять чрезмерный объем памяти. Использование значения false может уменьшить использование памяти, но понижает производительность

true

Удаленный драйвер Spark

Удаленный драйвер Spark — это приложение, которое запускается в кластере Spark и отправляет на выполнения задачи Spark. Является долгоживущим приложением, инициализация которого выполняется при первом запросе текущего пользователя и работающее до закрытия пользовательского сеанса.

Следующие свойства управляют удаленным взаимодействием между драйвером Spark и клиентом Hive.

Параметр Описание Значение по умолчанию

hive.spark.client.future.timeout

Время ожидания для запросов от клиента Hive к удаленному драйверу Spark (в секундах)

60

hive.spark.client.connect.timeout

Время ожидания для обратного подключения драйвера Spark к клиенту Hive (в миллисекундах)

1000

hive.spark.client.server.connect.timeout

Время ожидания установления связи между клиентом Hive и удаленным драйвером Spark (в миллисекундах). Проверяется обоими процессами

90000

hive.spark.client.secret.bits

Количество случайных бит в сгенерированном секрете для общения клиента Hive с удаленным драйвером Spark. Округляется в меньшую сторону до ближайшего кратного 8

256

hive.spark.client.rpc.server.address

Адрес хоста HiveServer2, который используется для связи между клиентом Hive и удаленным драйвером Spark

hive.spark.client.rpc.server.address; если недоступно — localhost

hive.spark.client.rpc.threads

Максимальное количество потоков для цикла событий RPC удаленного драйвера Spark

8

hive.spark.client.rpc.max.size

Максимальный размер сообщения в байтах для связи между клиентом Hive и удаленным драйвером Spark. По умолчанию равно 50 МБ

52,428,800 байт (50 * 1024 * 1024, или 50 MБ)

hive.spark.client.channel.log.level

Уровень логирования для удаленного драйвера Spark. Возможные значения: DEBUG, ERROR, INFO, TRACE, WARN. Если не установлено, используется уровень TRACE

 — 

Нашли ошибку? Выделите текст и нажмите Ctrl+Enter чтобы сообщить о ней