Какова лучшая практика для объединения соединений Hive JDBC - PullRequest
5 голосов
/ 03 апреля 2012

Я использую драйвер Hive JDBC для выполнения sql-запроса к моему хранилищу данных HDFS. Я пытался использовать c3p0 для обработки пула соединений. Я не уверен, что это правильный подход, так как запрос Hive иногда может занимать довольно много времени, что означает, что соединение будет удерживаться довольно долго, не возвращаясь обратно в пул. соединений в конфигурации c3p0.

Есть ли лучшая практика для объединения hive jdbc-соединения? c3p0? ДБХП

Как насчет MAX_POOL_SIZE? Должно ли оно быть больше, чем обычное значение для RDB?

1 Ответ

4 голосов
/ 07 апреля 2012

О, отлично, поэтому вопрос в упомянутой вами теме на самом деле был задан мной давным-давно :) Было бы интересно посмотреть, как использовать это в вашем случае.

Но позвольте мне сказать,you Hive запускает задания Hadoop по мере необходимости в зависимости от вашего запроса.Итак, если вы хотите выполнить несколько запросов, что, я считаю, именно то, что вы хотите сделать здесь, вам нужно использовать планировщик заданий, который может запускать несколько заданий одновременно.Hadoop по умолчанию использует планировщик first-in-first-out (FIFO) , извлекая задания из рабочей очереди.Итак, хотелось бы переключиться на планировщик Fair или планировщик Capacity.

Основная идея планировщика долевого распределения заключалась в том, чтобы назначать ресурсы заданиям таким образом, чтобы в среднем с течением времени каждое задание получало равную долю доступных ресурсов.

Планировщик емкости разделяет некоторые принципы честного планировщика, но также имеет определенные различия.Во-первых, планирование емкости было определено для больших кластеров, которые могут иметь несколько независимых потребителей и целевых приложений. В планировании емкости вместо пулов создается несколько очередей, каждая из которых имеет настраиваемое количество карт и уменьшает количество интервалов.Каждой очереди также назначается гарантированная емкость (где общая емкость кластера является суммой емкости каждой очереди).Во-вторых, возможность приоритезировать задания в очереди.Наконец, это наличие строгого контроля доступа в очередях.

...