jsonString String
) ENGINE = Kafka
SETTINGS
kafka_broker_list = 'kafka:9092',
kafka_topic_list = 'tracking_log_new',
kafka_group_name = 'clickhouse_group_raw',
kafka_format = 'JSONAsString’
create table tracking_log_replica_new
(
timestamp DateTime,
guid String,
…..
)
engine = MergeTree()
PARTITION BY toYYYYMMDD(timestamp)
ORDER BY (…)
SETTINGS index_granularity = 8192;
и матвью поверх
CREATE MATERIALIZED VIEW default.consumer_raw TO default.tracking_log_replica_new
AS
SELECT FROM_UNIXTIME(JSONExtractInt(JSONExtractRaw(jsonString, 'timestamp'), 'seconds')) as timestamp,
JSONExtractString(jsonString, 'hwid') as guid
….
FROM default.tracking_log_kafka_raw;
Данные читаются из кафки, но не тригерят вьюху
Проверял парсинг входного json`a через insert - всё ок
Что может быть не так с матвью?
просто селект из кафки таблицы что показывает?
Показывает строку с json'ом, как и предполагалось
странно, но тогда пустые строки все равно должны записываться в таблицу
По идее после вычитки строки должны удаляться, а они остаются в таблтце с кафкой
в логе КХ тогда будут ошибки про парсинг. для теста сделайте MV которое просто пишет в таблицу строку, без изменений, а потом попробуйте из этой таблицы распарсить селектом
Обсуждают сегодня