В моем случае Tuple(Array(UInt16), Array(UInt32)).
При создании Materialized View в секции AS SELECT указываю sumMap(array(status), array(bytes)) as test_field.
В результате при попадании во вьюшку строки одного INSERT-а суммируются и в поле test_field, например, следующие значения ([200, 400, 500], [2784, 7375, 26748]). А вот строки разных INSERT-ов не суммируются корректно.
Судя по документации - он считает их нечисловыми, не суммирует и выбирает случайное из значений.
Есть ли какой-то способ подружить SummingMergeTree с суммированием результатов sumMap?
Или, судя по документации, лучше делать это через Nested структуры? Но тут появляется еще одна проблема - невозможность указания вложенных select запросов.
Хотелось бы, например выполнять такой select при создании таблицы: AS SELECT sumMapResult.1 as statusMap.status, sumMapResult.2 as statusMap.traffic FROM (SELECT sumMap(array(status), array(bytes)) as sumMapResult), а не высчитывать sumMapResult несколько раз, если избавляться от вложенного SELECT и не тащить это отдельным полем в materialized view
Да, он так Nested структуры "суммирует", создаете структуру CREATE TABLE T ( ... StatusesMap Nested ( Status Int64 , Bytes Int64 ) Engine SummingMergeTree
Обсуждают сегодня