есть distributed table. У одного из шардов папка для дистрибютед таблицы весит очень много. Например у других 700М а конкретно в этом шарде 103Гб . Нода очень долго пишет логи и не запускается
Как быть ?
1. Указать в описании кластера, который использует ваша Distributed таблица, меньший вес тому шарду, в котором больше всего данных 2. Задуматься о том, почему так произошло. Какой у вас sharding_key? 3. Не использовать Distributed таблицу для вставки данных, вставлять их сразу на нужный шард.
А если удалить папку дистрибютед таблицы что будет происходить с данными ?
Спасибо за 3 пункт . Попробую балансировку кубера
На самом деле, я невнимательно прочитал вопрос, прошу прощения. В моем понимании, Distributed таблица не хранит данные вообще. За исключением временного хранения во время вставки. Поэтому то, что вы описываете, для меня странно. Вы уверены, что не путаете имена таблиц, например, и смотрите именно в Distributed, а не в ту таблицу, над которой она сделана?
Сейчас смотрю в папку data . Там папки с именами моих таблиц. Вижу локальную и дистрибьютед таблицу . Дистрибьютед таблица очень много весит чем другие - мешает запуску КХ. Локальная таблица 14ГБ а его дистрибьютед таблица 102ГБ - странно очень. Долго искал что за данные там хранятся не нашел в форумах и в документации. Вопрос: если удалить данные в папке дистрибьютед таблицы что будет происходить ? И вообще что за данные там ?
вы смотрели что в логах?
Единственное, что приходит в голову - у вас Distributed таблица часто не может записать данные в нижележащую. И "там" именно такие данные. Сравните число строк в Distributed с суммарным числом строк на всех шардах. А это сравните с тем, что должно быть.
Постоянно пишет что много партов
Спасибо . Буду попробовать прямую вставку на локальные таблицы
вы говорите о distributed таблице или о mergetree?
too many parts? Так это ответ. Расскажите, как вы вставляете данные. Какими порциями и по сколько раз в секунду.
Обсуждают сегодня