таблица:
CREATE TABLE test.properties
(
user_id UInt64,
dt DateTime,
name Array(String),
int32_value Array(Nullable(Int32)),
string_value Array(Nullable(String))
)
ENGINE = ReplacingMergeTree()
ORDER BY (user_id, dt);
insert into test.properties values
(1, '2020-01-27 16:10:00', ['property_name_str', 'property_name_int'], [null, 2], ['nepal', null]),
(1, '2020-01-27 16:00:00', ['property_name_int_1'], [3], [null]);
1) когда добавляем новое значение, с эти проблем нет, получается вот так:
(1, '2020-01-27 16:10:00', ['property_name_str', 'property_name_int', 'propery_name_int_1'], [null, 2, 3], ['nepal', null, null]
2) когда же изменилось имеющаяся значение, то есть с этим проблемы. Получается, что проперти с таким названием уже есть, и нужно заменить его на новое(5).
insert into test.properties VALUES
(1, '2020-01-27 16:20:00', ['property_name_int'], [5], [null]);
Можно ли это сделать элегантно, средствами кх или же лучше написать скрипт?
З.Ы. Использовал mat view state и mat view merge
привет. вот погляди https://gist.github.com/den-crane/048ce66bc59f5577d56e42d76934682e
Обсуждают сегодня