#window-functions #presto
#окно-функции #presto
Вопрос:
Я столкнулся с проблемой, связанной с функциями окна Presto. Всякий раз, когда я запускаю оконную функцию, я, кажется, запускаю ошибку изменения узла (запрос превысил общий лимит памяти для каждого узла; Лучшие потребители: TopNRowNumberOperator ).
Мне кажется, что оконные функции (НАПРИМЕР, row_number() поверх (разделение по порядку столбцов по coln) выполняются на одном узле, в отличие от распределенных агрегированных функций. Есть ли способ распределить оконные функции? Если нет, могу ли я получить список вещей на Presto, которые не будут распространяться. Любая информация об этом приветствуется.
Моя версия presto — 0.338
Спасибо
Комментарии:
1.
row_number() over ( partition by col order by coln )
выполняется на нескольких машинах, разделенных наcol
. Если будет один узел, если у вас одно значениеcol
(или очень мало значений и есть коллизия хэшей)2. Если он разделен на несколько столбцов, соответствует ли порядок столбцов в разделе по значениям? (НАПРИМЕР: разделение по col1, col2 и col3)