sumSimpleState
Описание
Комбинатор SimpleState
может быть применен к функции sum
для возвращения суммы по всем входным значениям. Он возвращает результат с типом SimpleAggregateFunction
.
Пример использования
Отслеживание голосов за и против
Рассмотрим практический пример, использующий таблицу, которая отслеживает голоса по публикациям.
Для каждой публикации нам нужно поддерживать текущие итоги голосов за, голосов против и общий балл. Использование типа SimpleAggregateFunction
с функцией sum подходит для этого случая, так как нам нужно хранить только текущие итоги, а не все состояние агрегации. В результате это будет быстрее и не потребует слияния частичных состояний агрегации.
Сначала мы создаем таблицу для сырых данных:
Затем мы создаем целевую таблицу, которая будет хранить агрегированные данные:
Затем мы создаем материализованное представление с колонками типа SimpleAggregateFunction
:
Вставить тестовые данные:
Запрос к материализованному представлению, используя комбинатор SimpleState
: