184 похожих чатов

Можно еще вопрос по Materialized View: я правильно понимаю, что если

source table with Replacing/CollapsingMergeeTree, то View не помощник?
(новые записи, которые прилетают в source и коллапсируются далее, View этого не знает и просто продолжает накручивать каунты)
?

10 ответов

15 просмотров

тут сложно да, потом эти блоки мержатся в исходной таблице и MATERIALIZED VIEW ничего про эти мержи не знает.. у вас целевая таблица для VIEW это AggregatingMergeTree? какого эффекта хочется добиться? если optimize_on_insert=1 то будет FINAL применяться к вставляемому iNSERT блоку и он будет передаваться во VIEW если optimize_on_insert=0 на вход view вообще будут сырые данные подаваться

Stas-Dombrovskyi Автор вопроса
Slach [altinity]
тут сложно да, потом эти блоки мержатся в исход...

у меня в целевой таблице детальные агрегаты, во вью, я хочу получить более узкие агрегаты с джойном на словарь. Целевая таблица с Replacing Engine

Stas Dombrovskyi
у меня в целевой таблице детальные агрегаты, во вь...

по вашему ответу непонятно что вы имеете ввиду целевая таблица это либо часть view либо отдельная таблица... либо вы слово "целевая " со словом "исходная" перепутали "более узкие аггрегаты" это что? AggregateFunction тип? или что?

Stas-Dombrovskyi Автор вопроса

да, сорри, запутал вас

Stas Dombrovskyi
да, сорри, запутал вас

ок. в исходной таблице структура типа dim_id, aggregated_value и у нее ReplacingMergeTree и новое значение agregated_value приходит снаружи .. так?

Stas Dombrovskyi
да

а как вы хотите получить более узкие аггрегаты? вы aggregated_value хотите как то разложить чтоли на какой то атрибут из словаря который через dim_id в dictGet получать будете? или что?

Stas-Dombrovskyi Автор вопроса
Slach [altinity]
а как вы хотите получить более узкие аггрегаты? вы...

получается что в сорсе у меня агрегаты по 5-6 dimensions. А для текущего отчета мне нужно по 2-3, то есть уже схлопывается часть строк. Плюс условие из словаря: когда этот dim_id определенного значения.

Stas Dombrovskyi
получается что в сорсе у меня агрегаты по 5-6 dime...

тогда вам вместо materialized view может попробовать PROJECTIONS https://clickhouse.com/docs/en/engines/table-engines/mergetree-family/mergetree#projections это не триггер, это внутри парта лежит сабпарт который получили из вашего парта через SELECT ... в котором можно использовать dictGet если GROUP BY не использовать, то у сабпарта будет такойже ReplcaingMergeTree и мержиться будет все с replace по ORDER BY значениям... и SELECT ... FROM ... FINAL ...GROUP BY по заданным измерениям. должен по идее проекцию использовать и финализировать.. корректно

Stas-Dombrovskyi Автор вопроса

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта