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

Привет V22.3.2.1 Создал таблицу с движком ReplicatedReplacingMergeTree на кластере из нескольких шардов

с репликами
вставил две строки с одинаковым набором полей из order by, делаю запрос с final, получаю две строки, ожидаю одну

нашёл похожий запрос на гите с ответом
Merge combines parts over partition. If you have duplicates in different partitions or at different servers they will not be removed / merged.

данные лежат в одной партиции, получается если они попали на разные сервера, то дубли не удалятся?

5 ответов

15 просмотров

Первое обновитесь до последней версии 22.3, второе покажите ddl и что вы вставили

Roman-Дубатов Автор вопроса
Константин
Первое обновитесь до последней версии 22.3, второе...

обновление в процессе ddl create table table_replica ( timestamp DateTime, account_id UInt64, application_id UInt64, platform Enum8(...), type Enum8(...), count UInt64 ) engine = ReplicatedReplacingMergeTree('/clickhouse/tables/{shard}/{database}/{table}', '{replica}') PARTITION BY toYYYYMMDD(timestamp) ORDER BY (timestamp, account_id, application_id) SETTINGS storage_policy = 'waterfall', index_granularity = 8192; строки 2022-10-01 00:00:00|1000|100|TYPE_SMTH|TYPE_AAA|225132 2022-10-01 00:00:00|1000|100|TYPE_SMTH|TYPE_AAA|245840

Roman Дубатов
обновление в процессе ddl create table table_repl...

сделайте select hostName(), * from clusterAllReplicas('{cluster}', default.table_replica) без final для начала надо понять, как действительно эти две строки раскидало по нодам

Roman-Дубатов Автор вопроса
ivan
сделайте select hostName(), * from clusterAllRepli...

получил 4 записи с разных хостов 2 строки из примера на разных шардах + их реплики

Roman Дубатов
получил 4 записи с разных хостов 2 строки из приме...

ок, по дефолту дедупликация в ReplacingMergeTree идёт в рамках партиции на ноде select final дополнительно умеет удалять дубликаты из разных партиций (есть настройка do_not_merge_across_partitions_select_final, чтобы тюнить это поведение) в выборке, но вроде удалять дубликаты из разных нод не обучен. местные знатоки меня поправят, если неправ

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
15
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Недавно 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
Всем привет! Имеется функция: function IsValidChar(ch: UTF8Char): Boolean; var i: Integer; ValidChars: AnsiString; begin ValidChars := 'abcdefghijklmnopqrstuvwxyzABCDE...
Евгений
44
Карта сайта