Перейти к основному содержимому
Перейти к основному содержимому

sumSimpleState

Описание

Комбинатор SimpleState может быть применен к функции sum для возвращения суммы по всем входным значениям. Он возвращает результат с типом SimpleAggregateFunction.

Пример использования

Отслеживание голосов за и против

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

Сначала мы создаем таблицу для сырых данных:

Затем мы создаем целевую таблицу, которая будет хранить агрегированные данные:

Затем мы создаем материализованное представление с колонками типа SimpleAggregateFunction:

Вставить тестовые данные:

Запрос к материализованному представлению, используя комбинатор SimpleState:

См. также