две записи с одинаковым ключем сортировки и одинаковым ключем партиционирования и одинаковой версией origin_event_version
Должна ли удаляться дублирующая запись при этих данных?
Делал OPTIMIZE TABLE numbers FINAL, дубликаты не удалились.
Если делать SELECT FROM numbers FINAL, дубликата нет.
Параметры таблицы:
ENGINE=ReplacingMergeTree("origin_event_version") PARTITION BY toYYYYMMDD("datetime") ORDER BY ("datetime", "origin_id", "origin_event_uuid")
На скриншоте видно, что разница только в колонке id (не входит в ключ сортировки), и что _partition_id одинаковый
optimize final выполнился?
да, OPTIMIZE TABLE numbers FINAL Query id: cde3c97b-42c8-4676-8970-63dade842192 Ok. 0 rows in set. Elapsed: 273.876 sec.
в system.merges закончился мердж?
да, SELECT * FROM system.merges Query id: 3d7765f0-2775-44ca-9fa4-050d5961f3b4 Ok. 0 rows in set. Elapsed: 0.006 sec.
в принципе не обязательно оставляет уникальные строки, ну попробуйте еще дедупликацию сделать optimize deuplicate
Добавьте в селект виртуальную колонку _part
Final мержит до упора если есть возможность. Если парты очень большие и места на диске нет, то межр не случится
тоже пробовал, optimize table numbers final deduplicate by "datetime", "origin_id", "origin_event_uuid"; не помогало
о, а вот тут точно. места на диске мало, не догадался посмотреть
Обсуждают сегодня