создать materialized view в clickouse из репликационных таблиц (MaterializedPostgreSQL). Где мне искать примеры реализации ?
Нужно просто взять и создать ;) Engine таблицы не важен, синтаксис такой же. Только работает это не очень https://github.com/ClickHouse/ClickHouse/issues/39805
Exception: CREATE TABLE is not allowed for database engine MaterializedPostgreSQL. Use ATTACH TABLE instead Такая же ошибка вылетает
Запрос приведите. http://pastila.nl
https://dpaste.org/mWrCg
Честно говоря, я не вижу, откуда там берется create table, но работать это не должно. Попробуйте почитать/посмотреть про materialized view . Например, https://den-crane.github.io/Everything_you_should_know_about_materialized_views_commented.pdf Еще есть видео, но ссылку сходу не нахожу.
Имеете ввиду, мой квери работать не должно ?
Да. sum посчитается для порции вставленных данных, насколько я понимаю. Ну и просто оно кажется слишком сложным для materialized view.
попробуйте создать в базе КХ(default например), а не в базе PG. Похоже у вас текущая база выбрана PG. Но над самой MatView конечно стоит поработать, пока непонятно как вы представляете что это должно работать, join в mat view это зло
У вас большой опыт ? Можете помочь или подсказать где искать решение данной проблемы ?
Я скорее писатель, чем читатель, опыта DBA у меня мало. Но вам же уже почти все подсказали. Коллега Konstanti Ilchenko справедливо предположил, что у вас текущий database имеет Engine MaterializedPostgreSQL, нужно либо явно указать другой (например, default), либо сделать его текущим. Из-за этого и "CREATE TABLE is not allowed for database engine ". А по тому, как правильно использовать MV в принципе - почитайте и приходите с вопросами.
AggregatingMergeTree не умеет суммировать само, надо задавать AggregateFunction. вы зря взяли AggregatingMergeTree тут достаточно summing, и order by неверный. про join уже все написали https://pastila.nl/?00b77793/b12062971a8e351a583844a94a54e904 тренируйтесь на маленьких тестовых таблицах из 3 строк https://fiddle.clickhouse.com/
У меня MaterializedPostgreSQL выполняет процесс репликации. Через default смогу ли я подключиться к удаленному PG ? Или можно ли через PostgreSQL подключиться к удаленному PG и MatView который я хочу реализовать ? Спасибо за ранее
mat view не подключается к удалённому PG. Это триггер на инсерт в таблицу в КХ. Когда происходит вставка в таблицу transactions в КХ, сработает триггер и прогонит этот блок вставляемых данных через MatView. Поэтому не важно в какой базе mat view, это всё на стороне КХ происходит
Обсуждают сегодня