которой много партиций и целая куча партов (10к, например). Сделано это из-за того, что мне нужно проводить операции над партициями
Я хочу разделить данные на горячие и холодные, горячие данные оставить как есть, а на холодных сделать другой фактор партиционирования, что бы уменишь большое количество партов (в кх есть настройка, что при переносе данных можно начать мерж). Я нашел, что кх это умеет, но можно ли как-то на диске с холодными данными создать таблицу с другими настройками ?
Спасибо
КХ из коробки не умеет в гибридное партиционирование на данный момент. Но можно создать отдельно таблицу с более крупным партиционированием, и в неё через фриз атач кидать новые парты и мерджить.
А что произойдет, если я настрою перенос данных из коробки, но на диске с холодными данными будет другое партиционирование ? Наверное, не стоит так делать ?)
не получится сделать разные партиционирования на одной таблице.
https://github.com/ClickHouse/ClickHouse/issues/16565 https://github.com/ClickHouse/ClickHouse/issues/13826 https://github.com/ClickHouse/ClickHouse/issues/8089
вы не сможете. партиционирование в ДДЛ таблицы... дайте пример ДДЛа как вы это делать будете?
нельзя
create table (…) ENGINE = SummingMergeTree(…) PARTITION BY YYYYMMDD(date); это для горячих данных create table (…) ENGINE = SummingMergeTree(…) PARTITION BY YYYYMM(date); для холодных
не сработает аттач. Там проверка что партиционирование совпадает
ну так это две разные таблицы же!
можете сделать 2 МВ навесить на эти две таблицы, все будет ОК
а в чём изначально смысл этой проверки? от чего она предохряняет? Может лучше её выпилить?
так с точки зрения приемника это может быть 10 партов а не один.
а, ну да, не подумал. А как то умную проверку сделать наверно можно по мин-максам полей из ключа партиционирования. если они бьются на несколько - фейл. если нет разрешить. Будет полуручное гибридное партиционирование, не?
Так есть такой FR
Обсуждают сегодня