сыпаться очень много событий(типы известны заранее(7шт)), объединеных 4-мя столбцами.
                  
                  
                  Схема:
                  
                  
                  
                  
                  
                  datetime | event | id1 | id2 | id3 | id 4
                  
                  
                  ———————————————————
                  
                  
                  datetime | 1        | 2      | 3   | 4     | 5
                  
                  
                  
                  
                  
                  События могут повторяться, но по ним можно сагрегировать конечное состояние объекта cityHash(id1, id2, id3, id4)
                  
                  
                  
                  
                  
                  Хотелось бы иметь MaterializedView, который хранил бы в себе конечное состояние и массив уникальных событий(уникальное - последнее по дате и типу),
                  
                  
                  что бы в итоге поедставление имело следующий вид:
                  
                  
                  
                  
                  
                  cityHash(id1, id2, id3, id4)         | events
                  
                  
                  —————————————————————————
                  
                  
                  111211212312321312123        | [event1, event2]
                  
                  
                  
                  
                  
                  Подготовил MaterializedView на основе AggregatingMergeTree, и вроде бы всё хорошо, но только при создании с POPULATE.
                  
                  
                  Когда события начинают сыпаться в реалтайме - массив events принимает последнее событие.
                  
                  
                  
                  
                  
                  Ищу подсказки, как быть. Может быть кто - нибудь сталкивался с подобным?
                  
                  
                  Заранее спасибо.
                  
                  
                
AggregatingMergeTree с агрегирующей функцией groupArrayState https://gist.github.com/den-crane/048ce66bc59f5577d56e42d76934682e это старый gist. сейчас можно использовать SimpleAggregateFunction (GroupUniqArray)-- они быстрее.
Обсуждают сегодня