Обсуждаем ClickHouse
... ну и вам никто не мешает в любой момент вставить прямо в таблицу, над которой сделан MV, все, что захотите.
Читать полностью…без опции populate не сделает + есть возможность потерять данные, пришедшие во время populate
так что стандартный подход, это создать мат вью, она начинает тригериться на новые вставки, а старые данные долить вручную
У меня просто следующая ситуация - строка таблицы изначально находится в состоянии A, через какое-то время изменяется на состояние B. Мне нужно при состоянии A сделать запись в матвью, и потом в состоянии B сделать другую запись. Но, если запустить такую логику на существующую таблицу, то просыпятся данные у строк, которые уже перешли в состояние B. Для этого и хочу сначала налить таблицу по другой логике, а потом изменить ее
Читать полностью…зачем лезть в мат вью, если для изначальной заливки данных в destination можно просто запустить insert into... select?
Читать полностью…Не оч понятно... Матвьюху нужно будет пересоздавать. К примеру у вас было в источнике А стринг, Б инт64. Вы добавили в источник(или сменили его) пересоздаете матвью А стринг, Б инт64, В стринг. Таргет таблица останется как и была только алтер добавить колонку "В стринг". Это для ReplicatedMergeTree или просто MergeTree
Читать полностью…наверное клиент такой , так-то все работает https://fiddle.clickhouse.com/c1206182-7839-4e8f-bd30-752fd3874203
Читать полностью…Коллеги, приветствую. У меня таблица с ДОСТАТОЧНО БОЛЬШИМИ снапшотами (в колонках String). Я делаю ее копирование в другую таблицу (insert into tbl select * from oldtbl). Вылетает по памяти, потому что пытается прочитать столько-то строк по определению сразу, внутренним чтением по N строк, и оно не влазит в ОЗУ. Задача: уменьшить к-во строк читаемых за раз. Какой настройкой у запроса это настроить?
Читать полностью…Там уже разобрались, insert_deduplicate=0 решил проблему. Часть инсертов в логах репортило сообщение дедупликации.
Читать полностью…Попробуй сделать select * from mv. У меня с такими же симптомами оказалось неправильно названные столбцы (select xxx as yyy не совпадали с именами полей в целевой таблице). И запрос к mv показал эту ошибку, после пересоздания mv все заработало
Читать полностью…ну так может на нем диски деградировали банально
Читать полностью…Железные метрики в момент выполнения запросов смотрите и сравнивайте. Возможно диски всасывают на нем
Читать полностью…ну как рабочая гипотеза... linux page cache вымывается другими запросами
из-за этого ваш конкретный запрос тормозит чуть больше...
или есть еще какие то запросы \ процессы которые отжирают диск
сравните нагрузку на диски по метрикам
сколько IOPS сколько байт в секунду...
Можете. Вы с помощью MV "наливаете" обычную таблицу.
Единственный момент, "старые данные будут затираться" не "при каждом обновлении", а асинхронно.
странное у вас). Для состояния добавить таймстам не?
Читать полностью…Таргет Replacing будет же по ключам каким то, по идее матвю просто инсертит и то что там Replacing енжин ее не волнует
Читать полностью…Всем привет! Есть вопрос по мат вьюхам. Я хочу сделать мат вью у ReplicatedReplacingMergeTree таблицы, в которой постоянно обновляются данные. Если я правильно понимаю, при каждом обновлении старые данные будут затираться, и вставляться новые -> новые будут прорастать в матвью (мне так и надо). Вопрос такой - могу ли я сначала сделать query для матвью, чтобы налить ее, а потом изменить QUERY, чтобы новые поступающие данные записывались по другой логике? (при этом не удаляя уже записанные по старой логике данные)
Читать полностью…ну и
Danger
Not all functions that parse DateTime/DateTime64 respect session_timezone. This can lead to subtle errors.
потому что не надо проверять грипами и бобрами, у них много чудес с датами
Читать полностью…Действительно, скорее всего инсерт задаёт работу а не селект
Читать полностью…max_insert_block_size уменьшить и max_insert_threads=1
Читать полностью…Ох уж эта вера в то что дубли будут сами исчезать
Читать полностью…Так данные и должны быть в целевых таблицах.
А делать МВ над Replacing может быть чревато
Коллеги, спасибо за советы, буду смотреть. Если будет ясность, напишу )
Читать полностью…Ну или можете сравнить ProfileEvents.IOWaitTimeMicroseconds в system.query_log одинаковых запросов на разных нодах
Имя метрики по памяти писал если что
Этот узел в целом тянет на дно весь кластер и всегда приходит последним (
Читать полностью…