У меня есть следующие настройки:
CREATE TABLE IF NOT EXISTS request_income_buffer (
timestamp UInt64,
timestamp_micro Float32,
traceId Int64,
host String,
type String,
service String,
message String,
caller String,
context String
) ENGINE = Kafka('kafka:9092', 'request_income', 'group', 'JSONEachRow');
CREATE MATERIALIZED VIEW IF NOT EXISTS request_income
ENGINE = MergeTree(date, microtime, 8192) AS
SELECT
toDate(toDateTime(timestamp)) AS `date`,
toDateTime(timestamp) as `date_time`,
timestamp,
timestamp_micro AS `microtime`,
traceId,
host,
type,
service,
message,
caller,
context
FROM
request_income_buffer;
Я хочу добавить новый столбец, напр.ip
до my request_income
таблица.Согласно документам, для этого мне нужно будет выполнить следующие шаги:
Отключить просмотр, чтобы прекратить получать сообщения от Кафки.
DETACH TABLE request_income;
Удалить таблицу, которая передает данные из Kafka, поскольку движок Kafka не поддерживает ALTER
запросов.
DROP TABLE request_income_buffer
Воссоздать таблицу для потоковой передачи данных из Kafka с новым полем.
CREATE TABLE, ЕСЛИ НЕ СУЩЕСТВУЕТ request_income_buffer(временная метка UInt64, timestamp_micro Float32, traceId Int64, строка хоста, строка ip, тип String, строка службы, строка сообщения, строка вызывающего абонента, строка контекста) ENGINE = Kafka ('kafka: 9092', 'request_income', 'group', 'JSONEachRow ');
В соответствии с этим post update. Внутренняя таблица отдельного материализованного представления
ALTER TABLE `.inner.request_income` ADD COLUMN ip String ПОСЛЕ хоста;
В соответствии с сообщением, приведенным выше, обновленный запрос представления представления
- Присоединить представление
ТАБЛИЦА ПРИЛОЖЕНИЙ request_income
Вопрос в том, как обновить запрос выбора представления?