11238
Обсуждаем ClickHouse
Привет, а подскажите как работает ttl
https://clickhouse.com/docs/guides/developer/ttl#implementing-a-rollup
Вот по доке, в этом примере что поставится вместо timestamp, там выберется any? min?
Насколько ок самому воткнуть
Читать полностью…
SET timestamp = toStartOfDay(any(timestamp))
SELECT
UserID
FROM
test.hits
WHERE
UserID IN (
SELECT UserID
FROM another_table1
);
такое впечатление что сам запрос не исполняется и не вставляет данные в таблицу, хотя сам запрос в RVM верный и если его выполнить руками - он работает
Читать полностью…
в смысле создается _tmp.UUID - подозреваю что туда должно скинуть данные которые получились после выборки
потом удаляется, а вот данные не остаются нигде при этом
да, поправил еще раз, там все ок с репликами и серверами, они все реплицируют как положено на обычной базе
Читать полностью…
обновил свое сообщение
так же нашел в логах такое
2025.10.09 14:18:06.195049 [ 570077 ] {bc53d16b-e778-4ce3-a567-9777ded91920} <Debug> executeQuery: (from 0.0.0.0:0, user: ) (comment: refresh of test.mv_from_raw_source_local_to_table) /* ddl_entry=query-0000000558 */ DROP TABLE IF EXISTS test.`.tmp.inner_id.9c7165d5-6d16-4952-858b-0c65953c34a2` (stage: Complete)
т.е RMV выполняется, вот правда данные не сохраняет, почему-то
брр, ниче не понимаю shard2 - replica_node1
в макросах было replica_node2 shard2
raw_source_local {replica_node2=1} /clickhouse/tables/654de391-b5ab-4854-9ca1-71a6ee3d9788/shard2/replicas/replica_node2
table_for_mv {replica_node2=1} /clickhouse/tables/b9aaa81c-babe-4313-a6d5-f62445010549/shard2/replicas/replica_node2
Есть Distributed таблица которая в кластере на ZFS. Хочу поменять sipHash64(adid) % 3 на sipHash64(adid) % 5
Не могу вызвать `EXCHANGE TABLES default.events AND default.events_new`потому что на zfs нет сисколаCode: 1. DB::Exception: Received from localhost:9000. DB::Exception: System call renameat2() is not supported. (UNSUPPORTED_METHOD)
Как еще можно поменять определение таблицы?
судя по query_log на каждой ноде есть такое
/* ddl_entry=query-0000000402 */ EXCHANGE TABLES test.`.tmp.inner_id.9c7165d5-6d16-4952-858b-0c65953c34a2` AND test.table_for_mv
т.е оно как бы RVM выполняет, учитывая что такое есть раз в минуту, но при этом данные не появляются на нодах
> 3-х шардов (6 серверов, 2 реплики на шард,
а тут всего 3 ноды
clusterAllReplicas должен 6 дать
А вы уверены что это причина??, а не следствие??. И причина в другом
Читать полностью…
причина была в том что на данных одной из таблиц не попадает в индекс: количество символов в поле UserID в another_table1 гораздо меньше чем в another_table2
Читать полностью…
SELECT uuid
FROM system.tables
WHERE database = 'test' AND name = 'table_for_mv';
вот такой запрос говорит о том что у таблицы постоянно меняется uuid (раз в минуту), что логично, ведь КХ пересоздает таблицу по сути, только без данных
2025.10.09 14:34:04.181433 [ 570077 ] {e347b012-53b9-4ef3-8ce4-3f71509dcbfb} <Debug> DDLWorker(test): Executed query: /* ddl_entry=query-0000000696 */ CREATE OR REPLACE TABLE test.`.tmp.inner_id.9c7165d5-6d16-4952-858b-0c65953c34a2` UUID '43d700e8-5996-4033-b23a-a49010d1dbd4' (`sum` Int32, date Date) ENGINE = ReplicatedMergeTree('/clickhouse/tables/{uuid}/{shard}', '{replica}') PRIMARY KEY date ORDER BY date SETTINGS index_granularity = 8192
2025.10.09 14:34:04.181479 [ 570077 ] {} <Trace> DDLWorker(test): Checking task query-0000000697
2025.10.09 14:34:04.223182 [ 570077 ] {} <Debug> DDLWorker(test): Processing task query-0000000697 (query: EXCHANGE TABLES test.`.tmp.inner_id.9c7165d5-6d16-4952-858b-0c65953c34a2` AND test.table_for_mv, backup restore: false)
вот нашел лог
да, мигает переодически и потом удаляется
Читать полностью…
а есть ключевое слово как найти такую инфу в логе?
Читать полностью…
так тут все в порядке, надо смотреть в логе сколько строк select сложил в .tmp.inner_id.9c7165d5-6d16-4952-858b-0c65953c34a2
Читать полностью…
{replica_node1=1} -- shard2/replicas/replica_node2
Читать полностью…
да, спасибо, поправил скрипты которые убирают sensitive info из логов
Читать полностью…
Да, тоже подумал что будет небольшой даунтайм.
Спасибо!
rename table default.events to default.events_x, default.events_new to default.events, default.events_x to efault.events_new
но select-ы заметят что таблицы нет
select table, replica_is_active, replica_path
from system.replicas
where table in ('raw_source_local', 'table_for_mv')
select * from clusterAllReplicas('{cluster}, view(select count() from test.raw_source_local));
Читать полностью…
реплики я пока отключил, тут бы разобраться еще с "мастерами"
Читать полностью…
cluster mycluster
replica replica_node1
shard shard1
cluster mycluster
replica replica_node2
shard shard2
cluster mycluster
replica replica_node3
shard shard3
mycluster это физический кластер
SELECT cluster, shard_num, replica_num, host_name, host_address, port, is_local
FROM system.clusters WHERE cluster='test';
вот такой запрос дает данные кластера test который база репликейтед