Хотел сделать так
minutes -> hours ->days
но затык с auditory AggregateFunction(uniq, String), я правильно понимаю, что нужно делать что-то типа: SET auditory=uniqMergeState(auditory)
в смысле про TTL GROUP BY ?
да, uniqMergeState вам и нужен как раз auditory=uniqMergeState(auditory)
TTL insert_date + INTERVAL 1 DAY, insert_minute + toIntervalMinute(15) GROUP BY insert_date, insert_minute, host, platform, app, version SET auditory=uniqMergeState(auditory), insert_minute = min(toStartOfFifteenMinutes(insert_minute)) еще не совсем понимаю, как мне поменять правильно ключ на toStartOfFifteenMinutes(insert_minute) агрится на DB::Exception: TTL Expression GROUP BY key should be a prefix of primary key. мол отличается. и как мне сгрупировать по 15 минут доагрегированные данные, не подскажете?
https://kb.altinity.com/altinity-kb-queries-and-syntax/ttl/ttl-group-by-examples/
ага, на него и смотрел изначально, видимо придется перестроить индекс как-то по другому, если хочу доагрегировать до 15 минут минутные.. ORDER BY (insert_date, insert_minute, host, platform, app, version) и GROUP BY insert_date, toStartOfFifteenMinutes(insert_minute), host, platform, app, version
изменять можно только tail колонки индекса будет работать только вот так ORDER BY (host, platform, app, version, insert_date, toStartOfFifteenMinutes(insert_minute), insert_minute) иначе в таблице будет мусор с испорченным индексом
спасибо большое!)
Обсуждают сегодня