Size: a a a

ClickHouse не тормозит

2020 May 20

DT

Dmitry Titov in ClickHouse не тормозит
mrAndersen
Так ведь она есть в начале при определении ключа партиционирования, или это не считается и нужно указать её дополнительно в виде
AggregatingMergeTree(date, (date, appId, event, priceId), 8192)
да, но там указывается партицирование
date-column — имя столбца с типом Date. На основе этого столбца ClickHouse автоматически создаёт партиции по месяцам. Имена партиций имеют формат "YYYYMM".
источник

DT

Dmitry Titov in ClickHouse не тормозит
а в ключе ее нет
источник

DT

Dmitry Titov in ClickHouse не тормозит
вообще это устаревший синтаксис и стоит от него отказатся
источник

m

mrAndersen in ClickHouse не тормозит
Ясно, понятно. Спасибо!
источник

m

mrAndersen in ClickHouse не тормозит
Попробую сейчас
источник

m

mrAndersen in ClickHouse не тормозит
Dmitry Titov
вообще это устаревший синтаксис и стоит от него отказатся
Синтаксис опредения таблицы имеется ввиду ?
источник

DT

Dmitry Titov in ClickHouse не тормозит
да
источник

AS

Anton Saraev in ClickHouse не тормозит
Maxim Bogdanov
Господа, подскажите пожалуйста, завезли ли возможность строить честные Funnels, чтобы можно было смотреть Event1->Event2->Event3, среднее время между ними или любые другие калькуляции? При этом важно иметь возможность задавать последовательность ивентов (точная, не точная, пропускать другие ивенты между нужными)? То что принято в подобных системах аналитики. Я нашёл пару докладов типп https://yandex.ru/efir?stream_id=40cef429501c6268975dbf25328804e8 Но выглядит это на первый взгляд костыльно и неполноценно. Классический пример воронки:  https://help.amplitude.com/hc/en-us/article_attachments/115002761768/Screen_Shot_2017-01-18_at_3.37.20_PM.png Хочется уметь делать такое же очень быстро на очень больших данных.
У Яндекса есть своя https://appmetrica.yandex.ru/ И там до сих пор нет воронок, что наводит на мысль, что Clickhouse не очень подходит для таких задач.
https://clickhouse.tech/docs/ru/sql-reference/aggregate-functions/parametric-functions/#windowfunnel
но сходу посчитать среднее время между событиями там вроде как нельзя
источник

И

Иван in ClickHouse не тормозит
mrAndersen
Ясно, понятно. Спасибо!
Проверить можно select distinct partition from system.parts для таблицы

И да, новый синтаксис задания движка таблицы более читаем
источник

DT

Dmitry Titov in ClickHouse не тормозит
если речь идет про массивы то arrayDiff же
источник

И

Иван in ClickHouse не тормозит
Иван
Проверить можно select distinct partition from system.parts для таблицы

И да, новый синтаксис задания движка таблицы более читаем
Там будет видно по месяцам партиции или по дням
источник

AS

Anton Saraev in ClickHouse не тормозит
только там group by user, поэтому очень хорошо иметь шардированные данные и использовать distributed_aggregation_memory_efficient=1
источник

DT

Dmitry Titov in ClickHouse не тормозит
Иван
Там будет видно по месяцам партиции или по дням
раньше только по месяцам и умело, емнип
источник

m

mrAndersen in ClickHouse не тормозит
Иван
Проверить можно select distinct partition from system.parts для таблицы

И да, новый синтаксис задания движка таблицы более читаем
Да, я вижу, я просто упустил этот момент, быстро как-то дока обновилась)
источник

И

Иван in ClickHouse не тормозит
mrAndersen
Да, я вижу, я просто упустил этот момент, быстро как-то дока обновилась)
Года уже полтора назад 👌
источник

m

mrAndersen in ClickHouse не тормозит
Я примерно столько не создавал новых таблиц 😂
источник

AS

Anton Saraev in ClickHouse не тормозит
Для более сложных условий, когда часть событий идёт подряд, а часть нет, можно использовать sequenceMatch. Но насколько я понимаю они не умеют понимать, что префикс уже посчитан другой агрегатной фукнцией, поэтому их приходится добавлять несколько раз в select. Что по идее приводит к увеличению потребления памяти.
источник

AS

Anton Saraev in ClickHouse не тормозит
Dmitry Titov
если речь идет про массивы то arrayDiff же
но arrayDiff не знает же какая именно последовательность была найдена фукнцией windowFunnel. А делать воронки полностью на массивах достаточно хардкорно.
источник

DT

Dmitry Titov in ClickHouse не тормозит
Anton Saraev
но arrayDiff не знает же какая именно последовательность была найдена фукнцией windowFunnel. А делать воронки полностью на массивах достаточно хардкорно.
ну, тут сначала отфильтровать нужные нам значения(те попадания в воронку) потом оставить нужные события, потом arrayDiff, потом найти среднее
источник

DT

Dmitry Titov in ClickHouse не тормозит
ну я могу так себе представить, но это нужно пробывать
источник