Описание
MergeState
можно применять к функции avg,
чтобы объединить частичные состояния агрегатной функции типа AverageFunction(avg, T) и
вернуть новое промежуточное состояние агрегации.
Пример использования
MergeState особенно полезен в сценариях многоуровневой агрегации,
когда нужно объединять предварительно агрегированные состояния и сохранять их
в виде состояний (а не финализировать) для дальнейшей обработки. Для
наглядности рассмотрим пример, в котором мы преобразуем отдельные метрики
производительности серверов в иерархические агрегации на нескольких уровнях:
уровень сервера → уровень региона → уровень датацентра.
Сначала создадим таблицу для хранения исходных данных:
- Уровень сервиса
- Уровень региона
- Уровень датацентра