@rst630

Как добавлять в clickhouse только уникальные primary key?

Делаю выгрузку из mysql в clickhouse при повторной выгрузке хочу что бы вставлялись только строки с уникальными PK, (как insert ignore) но кликхаус похоже так не умеет.

Правильно ли я понимаю что для реализации этого мне нужно перед вставкой проверять наличие PK (where id in(1,2,3...)) и самому отфильтровывать не уникальные данные? Или все же есть у кликхауса другой метод?
  • Вопрос задан
  • 1597 просмотров
Пригласить эксперта
Ответы на вопрос 1
WinPooh32
@WinPooh32
Stack Overflow answer searching expert
Если используется MergeTree в качестве движка таблицы, то устранить дубликаты можно удалением через ALTER (блокирует весь кластер), либо только фильтрация во время запроса.

Для симуляции мутабельности есть VersionedCollapsingMergeTree, но тут также есть нюансы - дубликаты удаляются не сразу и все равно требуется фильтрация во время запроса.

Просто для удаления дубликатов можно использовать CollapsingMergeTree, но выбор строки недетрменирован и тоже нужна фильтрация, т.к. удаление происходит асинхронно в фоновом режиме.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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