Выполнение запроса требует времени в Presto с соединителем pinot

В качестве исходной системы мы используем Apache pinot. Мы загрузили в pinot данные 10GB TPCH. Мы используем Presto в качестве механизма выполнения запросов, используя коннектор pinot.

Мы пробуем с простой конфигурацией. Presto установлен на машине CentOS с 8 процессорами и 64 ГБ ОЗУ. Только один экземпляр worker работает со встроенным координатором. Пино устанавливается на машину CentOS с 4 процессорами и 64 ГБ оперативной памяти. Один контроллер, один брокер, один сервер и один zookeeper работают.

Выполнение запроса к таблице Lineitem, включающей группировку путем сворачивания, занимает 23 секунды. Около 20 секунд уходит на передачу 2,3 ГБ данных с пино на престо.

В другом запросе, включающем объединение между Lineitem, Nation, Partsupply, Region с группировкой по кубу, занимает около 2 минут. При этом передача данных занимает около 25 секунд. Большую часть остального времени тратится на вычисления соединения и агрегирования.

Это нормальная работа с престо-пино? Если нет, то что мне не хватает? Мне нужно увеличить оборудование? Увеличить количество процессов presto / pinot? Какие-либо конкретные свойства presto, которые мне следует изменить?

заранее спасибо за помощь


person ravikiran    schedule 09.08.2020    source источник


Ответы (1)


Перечислите вопросы, чтобы мы могли дать лучший ответ. На высоком уровне коннектор Presto Pinot пытается передать большую часть вычислений (фильтр, агрегирование, группирование) в Pinot и минимизировать объем данных, необходимых для извлечения из Pinot.

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

person Kishore G    schedule 26.01.2021