Проблема с чтением топика kafka в ClickHouse

Имею следующее:

  1. Таблица c Kafka engine
  2. Локальная таблица с движком MergeTree
  3. Материализованное представление для выбора из таблицы Kafka в локальную таблицу

Собственно все по Документации

create table any_schema.queue_table
(
    session_id           UInt32,
    category_id          String,
    ....
)
    engine = Kafka SETTINGS kafka_broker_list = 'ip:port', kafka_topic_list = 'topic_name', kafka_group_name = 'group_name', kafka_format = 'AvroConfluent', kafka_commit_every_batch = 1, kafka_max_block_size = 1048576, kafka_num_consumers = 1, kafka_thread_per_consumer = 1, format_avro_schema_registry_url = 'schema_url', kafka_schema = 'name_schema', input_format_avro_allow_missing_fields = 1;

CREATE TABLE any_schema.table (
    session_id           UInt32,
    category_id          String,
    ....
  ) ENGINE = MergeTree()
ORDER BY (session_id, category_id)
PARTITION BY session_id
TTL now() + INTERVAL 5 DAY;


CREATE MATERIALIZED VIEW any_schema.queue_table_mvw TO any_schema.table
AS SELECT *
FROM any_schema.queue_table;

Проблема в следующем, на стороне приложений схема генерируется и обновляется автоматически, при первом формировании таблиц обнаружил ошибку расхождение типов некоторых полей с описанием схемы.

2021.04.29 09:30:03.124184 [ 85 ] {} <Error> void DB::StorageKafka::threadFunc(size_t): Code: 44, e.displayText() = DB::Exception: Type UInt16 is not compatible with Avro union:
[
    "double",
    "long"
]: column **name_column**, Stack trace (when copying this message, always include the lines below):

После правки приложения и таблицы (пересоздал все), продолжаю ловить эту же ошибку. Хотя в регистре схем схема верная, и вообще отказался от union типов. Есть предположение что кликхаус кеширует схему у себя, но по какому принципу - для меня вопрос. Менял группу консьюмера для таблицы, на помогло.

Может кто сталкивался с подобным? Или знает как посмотреть весь кеш КХ (предположительно, может дело не в нем). Так как в дальнейшем предполагается обновление схем, хотелось бы сразу разобраться с этим моментом.


Ответы (0 шт):