Обсуждаем ClickHouse
`ENGINE = ReplicatedMergeTree('/clickhouse/tables/{database}/{table}/{shard}/{uuid}', '{replica}')
PARTITION BY data_chunk_date
ORDER BY (country_id, client, action, component, screen, section, server_timestamp, timestamp, cityHash64(user_hash))
SAMPLE BY cityHash64(user_hash)
TTL
data_chunk_date TO VOLUME 'fast',
data_chunk_date + INTERVAL 3 MONTH TO VOLUME 'default'
SETTINGS
storage_policy = 'tiered_storage',
index_granularity = 8192,
replicated_deduplication_window = 1000;
параллельно? во время тестов не было вставок
Читать полностью…постоянно практически, если я из 200 млн строк отбираюб массив данных в 20 млн строк и копирую или даже 100 млн - дублей нет, а вот при 200 - всегда больше строк
Читать полностью…select name,value from system.settings where changed
Читать полностью…Если нету дублей в источнике, то это очень странно.
Покажите описание таблиц после колонок.
нужна помощь зала, при копировании/вставке данных из одной партиции одной таблицы в другую distributed таблицу чаще всего получаю дубли строк, подскажите куда копать, перепробовал уже разные варианты
шардинг ключ хеш по одному из полей, партиция 50-60 гб. 200млн строк, replicated_deduplication_window = 1000 стоит
запись в локальные таблицы не предлагать)
версия 25.3
нужен макрос, который будет разным на всех этих машинах типа 01 02 03 04 05 06 07 08. Можете этот поправить, можете новый макрос завести.
Читать полностью…аа, я понял, у вас реплики неправильно называются - 01
replica должна быть уникальная на весь кластер, обычно люди используют hostname
А у вас реплики в каждом шарде одинаково называются ? 01 ?
Читать полностью…Да, ошибка та же. У себя в примере выше сначала сослался на старую таблицу в пути. Потом поправил на новую и ошибка такая же, как у Игоря
Читать полностью…Да, тестовый cH для поделок давно делали)
Сейчас другой пример скинем
Да. Ну я ничего не удалял, просто новую сделал с новым именем через create table on cluster
Читать полностью…А где название таблицы ?
ch_replicated ?
тогда сделайте
ch_replicatedV2
у меня рядом есть таблица куда я точно так же копирую и там партиция 20гб и шард ключ рандомный - и здесь у меня нет проблем, только с этим кейсом
после того как я сменил шард ключ на хеш - стало лучше, но не окончательно
То есть вы делаете inset into select * from table limit 100 и у вас 102 строки встает ?
Читать полностью…на источнике есть дубли если мы говорим о уникальности строк, я про проблему что если на источнике 100 строк, то я ожидаю скопировать тоже 100, а получается 102
Читать полностью…Нужно понимать, в источнике точно нету дублей ?
Читать полностью…@den_crane @Artemm_1989 понял, большое спасибо
Читать полностью…macro substitutionЧитать полностью…
replica 01
replica 01
replica 01
replica 01
replica 01
replica 01
replica 01
replica 01
select * from clusterAllReplicas('cluster', system.macros) where macro = 'replica'
При таком создании
CREATE TABLE test.table ON CLUSTER cluster
(
field1 String,
field2 Int32
)
ENGINE = ReplicatedMergeTree('/clickhouse/tables/replicated/{uuid}', '{replica}')
ORDER BY (
field1 ,
field2
)
SETTINGS index_granularity = 8192;
SQL Error [22000]: Code: 253. DB::Exception: There was an error on: Code: 253. DB::Exception: Replica /clickhouse/tables/replicated/ererr-e312-42ca-a0ba-c5fffw/replicas/01 already exists.
(REPLICA_ALREADY_EXISTS) (version 24.10.3.1 & D-02.001.00-01). (REPLICA_ALREADY_EXISTS) (version 24.10.3.1 & D-02.001.00-01)
вообще странный путь /click/ch_replicated/{shard} он реально такой?
Читать полностью…Вы предыдущую таблицу удаляли без SYNC. Из-за этого метаданные еще не удалились из зукипера.
Читать полностью…Не совсем может понял вас
Изменение
ENGINE = ReplicatedMergeTree('/click/ch_replicated/{shard}',
'{replica}')
ENGINE = ReplicatedMergeTree('/click/ch_replicated/', '{replica}')