узнать все row, в которых началась последовательность, удовлетворяющая sequenceMatch? таблица на пару десятков миллионов, sequence из двух последовательных элементов, скорость исполнения не очень важна
пример, какой-нить приведи. какая конкретно последовательность, например.
https://gist.github.com/OlegGavrilov/4c03d8ce1346b4a22b51727ca3cb0fc4 вот, как мог
Скорее всего придется на коленке построить воронку на массивах и ручками сделать https://altinity.com/blog/harnessing-the-power-of-clickhouse-arrays-part-2 Тк вам нужна именно последовательная комбинация из двух (?1)(?2) событий без каких либо событий между ними.
никак не могу уяснить, как high order functions пользоваться в ch, тоже уже смотрю этот подход. есть какая-то дока для тупых, где разжёвано как с array* функциями жить?
https://habr.com/ru/post/515606/ и чуть чуть https://altinity.com/blog/harnessing-the-power-of-clickhouse-arrays-part-3 Ну и банально сама дока кх
спасибо, буду пытаться
WITH groupArray(eventType) AS event_arr, groupArray(EventTime) AS time_arr SELECT userID, arrayFirst((x, y, z) -> ((y = 'A') AND (z = 'B')), time_arr, event_arr, arrayPushBack(arrayPopFront(event_arr), cast('A', 'Enum8(\'A\' = 1, \'B\' = 2)'))) AS x FROM ( SELECT userID, eventType, EventTime FROM test.funnel WHERE (Age > 30) AND (eventType IN ('A', 'B')) ORDER BY userID ASC, EventTime ASC ) GROUP BY userID Я бы что то такое написал, там правда нужно отфильтровать нули
Обсуждают сегодня