изменение размера контейнера hive tez из данных IBM с помощью соединителя JDBC занимает слишком много времени

В кластере mapr, использующем пряжу и движок tez, нам нужно запрашивать данные куста из datastage с помощью коннектора jdbc. В некоторых случаях нам нужно увеличить размер контейнера tez из-за размера данных. Мы делаем это перед оператором sql в параллельном задании, а затем запрашиваем данные в основном операторе задания.

Проблема в том, что оператор SQL SET hive.tez.container.size=3000 перед оператором SQL занимает несколько часов, но запрос данных выполняется нормально (несколько секунд).

Может ли это быть связано с тем, насколько загружен кластер в то время? много вакансий в очереди ?? Не думайте, потому что он всегда дает сбой в операторе set, но никогда в операторе select. Заранее спасибо!


person AlvaroMatarranz    schedule 08.05.2020    source источник
comment
Tez делает нас долгоживущими приложениями Yarn, которые повторно используются между запросами для более быстрой обратной связи и т. Д. Однако это означает, что первый запрос, который вы сделаете, заставит его выделить контейнер Yarn. Если очередь кластера / пряжи заполнена, вам придется тратить время на ожидание даже простых операторов метаданных. Однако заявления после этого будут быстрее. Может ли быть так? Можете ли вы проверить в Yarn Resourcemanager, что происходит?   -  person selle    schedule 11.05.2020


Ответы (1)


Я бы предложил использовать предоставленный IBM драйвер JDBC Hive и этап Hive Connector, который позволяет устанавливать параметры Hive с помощью встроенного свойства stage.

Когда задание DataStage выполняется медленно, это может быть по нескольким причинам, из того, что вы говорите, установка hive.tez.container.size = 3000 перед оператором sql - это то, что занимает несколько часов, я бы посоветовал взглянуть на сторону Hive DB во время работы Работа DataStage.

Если вы не используете предоставленный IBM драйвер Hive JDBC, то лучше воспользоваться официальной поддержкой стороннего драйвера Hive JDBC, чтобы включить трассировку драйвера JDBC.

person Srinivasa    schedule 11.08.2020