Поддерживаемые реестры схем для Kafka ClickPipes
- Confluent Schema Registry
- Redpanda Schema Registry
Конфигурация
- Укажите полный путь к subject схемы (например,
https://registry.example.com/subjects/events)- При необходимости можно указать конкретную версию, добавив
/versions/[version]к URL (в противном случае ClickPipes получит последнюю версию).
- При необходимости можно указать конкретную версию, добавив
- Укажите полный путь к ID схемы (например,
https://registry.example.com/schemas/ids/1000) - Укажите корневой URL реестра схем (например,
https://registry.example.com)
Как это работает
- Если в сообщении есть встроенный ID схемы, он будет использован для получения схемы.
- Если в сообщении нет встроенного ID схемы, для получения схемы будет использован ID схемы или имя subject, указанные в конфигурации ClickPipe.
- Если сообщение записано без встроенного ID схемы и в конфигурации ClickPipe не указан ни ID схемы, ни имя subject, схема не будет получена, а сообщение будет пропущено; в таблицу ошибок ClickPipes будет записана ошибка
SOURCE_SCHEMA_ERROR. - Если сообщение не соответствует схеме, оно будет пропущено; в таблицу ошибок ClickPipes будет записана ошибка
DATA_PARSING_ERROR. - Только для схем Protobuf: ClickPipes загрузит все импортированные схемы, указанные как зависимости. Схемы Avro с внешними ссылками пока не поддерживаются.
Сопоставление схемы
- Если схема содержит поле, которое отсутствует в сопоставлении с целевой таблицей ClickHouse, это поле игнорируется.
- Если в схеме отсутствует поле, определённое в сопоставлении с целевой таблицей ClickHouse, соответствующий столбец ClickHouse будет заполнен “нулевым” значением, например 0 или пустой строкой. Обратите внимание, что выражения
DEFAULTне поддерживаются. - Если поле схемы и столбец ClickHouse несовместимы, вставка этой строки/сообщения завершится ошибкой, и ошибка будет записана в таблицу ошибок ClickPipes. Обратите внимание, что поддерживаются некоторые неявные преобразования (например, между числовыми типами), но не все (например, поле записи Avro нельзя вставить в столбец ClickHouse типа
Int32).