SimpleAggregateFunction(func, type)
Хранит только текущее значение агрегатной функции и не сохраняет ее полное состояние, как это делает AggregateFunction. Такая оптимизация может быть применена к функциям, которые обладают следующим свойством: результат выполнения функции f к набору строк S1 UNION ALL S2 может быть получен путем выполнения f к отдельным частям набора строк,
а затем повторного выполнения f к результатам: f(S1 UNION ALL S2) = f(f(S1) UNION ALL f(S2)). Это свойство гарантирует, что результатов частичной агрегации достаточно для вычисления комбинированной, поэтому хранить и обрабатывать какие-либо дополнительные данные не требуется.
Чтобы получить промежуточное значение, обычно используются агрегатные функции с суффиксом -SimpleState.
Поддерживаются следующие агрегатные функции:
anyanyLastminmaxsumsumWithOverflowgroupBitAndgroupBitOrgroupBitXorgroupArrayArraygroupUniqArrayArraygroupUniqArrayArrayMapsumMapminMapmaxMap
Параметры
func— имя агрегатной функции.type— типы аргументов агрегатной функции.
Пример