Есть два варианта, как держать данную таблицу в актуальном состоянии, и они зависят от того, как была реализована таблица.
Вариант 1.
В случае если таблица была создана, как в статье, то тогда нужен сторонний инструмент, который будет считать стейты для функций и загружать в таблицу. Например, это может быть какая-нибудь реализация с кроном или Airflow. Т.е. в таком случае мы считаем, на примере реализации в статье, для всех полей (измерений) avgState(avg_price) и загружаем в нашу таблицу default.uk_price_paid_agg
Вариант 2.
Если у таблицы default.uk_price_paid_agg был бы движок AggregatingMergeTree, а не просто MergeTree, то тогда мы могли бы создать материализованное представление, которое работает как тригер на вставку данных в таблицу Источник. Для нас это была бы таблица default.uk_price_paid.
В дальнейшем, после того как мы настроили вставку новых данных, нам достаточно вытащить нужные измерения в секцию group by и финализировать агрегацию, в нашем случае avgMerge(avg_price). В результате чего мы получим корректное среднее для выбранных нами измерений
Есть два варианта, как держать данную таблицу в актуальном состоянии, и они зависят от того, как была реализована таблица.
Вариант 1.
В случае если таблица была создана, как в статье, то тогда нужен сторонний инструмент, который будет считать стейты для функций и загружать в таблицу. Например, это может быть какая-нибудь реализация с кроном или Airflow. Т.е. в таком случае мы считаем, на примере реализации в статье, для всех полей (измерений)
avgState(avg_price)и загружаем в нашу таблицуdefault.uk_price_paid_aggВариант 2.
Если у таблицы
default.uk_price_paid_aggбыл бы движок AggregatingMergeTree, а не просто MergeTree, то тогда мы могли бы создать материализованное представление, которое работает как тригер на вставку данных в таблицу Источник. Для нас это была бы таблицаdefault.uk_price_paid.В дальнейшем, после того как мы настроили вставку новых данных, нам достаточно вытащить нужные измерения в секцию
group byи финализировать агрегацию, в нашем случаеavgMerge(avg_price). В результате чего мы получим корректное среднее для выбранных нами измерений