Обсуждаем ClickHouse
Да, тоже подумал что будет небольшой даунтайм.
Спасибо!
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 который база репликейтед
да и как на такое reproduce накручивать тоже та еще боль. слишком специфичная комбинация
надеюсь оптимизации query plan не будут принудительными в будущем
а еще, судя по всему RMV выполняется на каждой ноде, заполняет локальные таблицы, а на остальных нодах данные очищаются, хотя до этого они там были
Читать полностью…>сделал таблицу под MV - создалась - пустая что логично
Replicated ?
query_plan_merge_expressions
если выключить - все ок
значит неправльно добавлены ноды в replicated database
вам надо правильно добавлять реплики, шарды, тогда один раз на шарде на одной из реплик будет запускаться
у вас должна быть replicated database и mat view и trg таблицы должны быть в ней
Читать полностью…Джойн нагенерит декартово произведение, а предикат его так же зафильтрует.
Читать полностью…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 дать
select * from clusterAllReplicas(''{cluster}'', view(select * from system.macros));
Читать полностью…продолжаю держать в курсе событий =)
глючит topK() в комбинации с query_plan_merge_expressions
да, забыл ссылку куда можно скопипастить, если напомните я скину целиком запросы на создания таблиц, так будет больше контекста
UPD: https://pastila.nl/?02a23c6e/62cf8ac3a081830c98c6181e6d2739a9#qDmrsXDm4ru0z9qU9X2k4Q==
запрос вида
WITHЧитать полностью…
substr(SniffleBreadcrumb, 1, 7) AS elevator,
substr(SniffleBreadcrumb, 1, 5) AS calcification,
count(*) AS supermarket
SELECT
h3ToParent(LibidoSomeone, 10) AS lycra,
topK(7)(calcification) AS replacement,
supermarket
FROM merge('excess', 'tuna_gathering_espalier_decryption')
WHERE (ExasperationId > 0) AND (lycra != 0) AND (toDate(GazeboSniffleHonorBay) = '2026-05-02') AND (elevator IN ('QRUAS', 'HXPIQ', 'CCTBX'))
GROUP BY lycra
HAVING sumIf(PopularityLinerXylophone, PopularityLinerXylophone > 0) >= 36
FORMAT Null
create database test on cluster '{cluster}' ENGINE=Replicated('/clickhouse/databases/test','{shard}','{replica}')
Читать полностью…
select sum(id), hostname() from cluster('{cluster}', test.raw_source_local) group by hostname(); - вот так данные есть с каждого сервера
select sum(sum), hostname() from cluster('{cluster}', test.table_for_mv) group by hostname(); а вот тут данные есть только с того сервера где я создавал refreshable MV
ага, я пробовал, так оно создает, но тогда мат вью рефреш запускается на одной ноде и будет обновлять только ее
Читать полностью…SQL Error [22000]: Code: 36. DB::Exception: This combination doesn't work: refreshable materialized view, no APPEND, non-replicated database, replicated table. Each refresh would replace the replicated table locally, but other replicas wouldn't see it. Refusing to create. (BAD_ARGUMENTS) (version 25.5.2.47 (official build))
Читать полностью…О, я придумал! Чтобы добавить недостающие даты можно еще раз наджойнить периоды в конце.
Читать полностью…Так я и говорю что надо другой тип join - cross. В календаре мало строк поэтому это прекрасно работает
Читать полностью…