Registros de esquema compatíveis com o Kafka ClickPipes
- Confluent Schema Registry
- Redpanda Schema Registry
Configuração
- Forneça o caminho completo para o subject do esquema (por exemplo,
https://registry.example.com/subjects/events)- Opcionalmente, é possível referenciar uma versão específica acrescentando
/versions/[version]à URL (caso contrário, o ClickPipes recuperará a versão mais recente).
- Opcionalmente, é possível referenciar uma versão específica acrescentando
- Forneça o caminho completo para o ID do esquema (por exemplo,
https://registry.example.com/schemas/ids/1000) - Forneça a URL raiz do registro de esquema (por exemplo,
https://registry.example.com)
Como funciona
- Se houver um ID de esquema incorporado à mensagem, ele será usado para recuperar o esquema.
- Se não houver um ID de esquema incorporado à mensagem, será usado o ID de esquema ou o nome do subject especificado na configuração do ClickPipe para recuperar o esquema.
- Se a mensagem for gravada sem um ID de esquema incorporado e nenhum ID de esquema ou nome do subject for especificado na configuração do ClickPipe, o esquema não será recuperado e a mensagem será ignorada, com um
SOURCE_SCHEMA_ERRORregistrado na tabela de erros do ClickPipes. - Se a mensagem não estiver em conformidade com o esquema, ela será ignorada, com um
DATA_PARSING_ERRORregistrado na tabela de erros do ClickPipes. - Apenas para esquemas Protobuf: o ClickPipes carregará todos os esquemas importados definidos como dependências. Esquemas Avro com referências externas ainda não são compatíveis.
Mapeamento de esquema
- Se o esquema contiver um campo que não esteja incluído no mapeamento de destino do ClickHouse, esse campo será ignorado.
- Se no esquema faltar um campo definido no mapeamento de destino do ClickHouse, a coluna do ClickHouse será preenchida com um valor “zero”, como 0 ou uma string vazia. Observe que expressões
DEFAULTnão têm suporte. - Se o campo do esquema e a coluna do ClickHouse forem incompatíveis, a inserção dessa linha/mensagem falhará, e a falha será registrada na tabela de erro do ClickPipes. Observe que há suporte para várias conversões implícitas (por exemplo, entre tipos numéricos), mas não para todas (por exemplo, um campo de registro Avro não pode ser inserido em uma coluna
Int32do ClickHouse).