Как изменить PARTITION в clickhouse - PullRequest
       38

Как изменить PARTITION в clickhouse

0 голосов
/ 27 апреля 2020

версия 18.16.1

CREATE TABLE traffic (
    `date` Date,
    ...
) ENGINE = MergeTree(date, (end_time), 8192);

Я хочу изменить как PARTITION BY toYYYYMMDD(date) без таблицы пропусков, как это сделать.

1 Ответ

2 голосов
/ 27 апреля 2020

Поскольку запрос ALTER не позволяет изменять разделы, возможный способ - создать новую таблицу

CREATE TABLE traffic_new
(
    `date` Date,
    ...
)
ENGINE = MergeTree(date, (end_time), 8192)
PARTITION BY toYYYYMMDD(date);

и переместить данные

INSERT INTO traffic_new SELECT * FROM traffic WHERE column BETWEEN x and xxxx;

При необходимости переименуйте финальный стол. И да, эта опция предполагает удаление старой таблицы (кажется, нет способа пропустить этот шаг)

...