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

Товарищи, подскажите, пожалуйста. Есть таблица в КХ, там есть дубли строк

- полные дубли, включая sorting key.
Общий размер таблицы 1-20 миллионов строк. Количество дублей: до 100 тыс строк всего, в их числе строки, которые повторяются 2-3 раза.
Как вычистить?

Проблема в том, что я не могу никак таргетировать запрос на конкретную строку из числа дублированных строк - у них идентичные ВСЕ атрибуты. Какой бы критерий я не придумал - он затронет все дубли.

Единственное, что приходит в голову - написать запрос SELECT во временную чистую таблицу, сделать группировку ПО ВСЕМ полям. Тогда все дубли схлопнутся и будет выборка по 1 уникальной копии. Ну и потом в оригинале удалить все строки, чьи айдюки есть во временной и перенести назад.

Есть ли проще решения?

5 ответов

17 просмотров

select distinct ?

В доке у https://clickhouse.tech/docs/en/query_language/misc/#misc_operations-optimize описано волшебное слово DEDUPLICATE, но 1) никогда не пользовался, поэтому неточно 2) если дубли на разных шардах, то точно не поможет 3) наверное совсем всё оно не схлопнет, но тут см. пункт 1

как вариант select any(value)

Движок какой у таблицы?

20млн. Просто переложить в новую таблицу с insert select distinct *

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно 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
Карта сайта