Descripción
AvroConfluent admite leer y escribir mensajes codificados en Avro mediante Confluent Schema Registry (o servicios compatibles con su API).
Cada mensaje utiliza el wire format de Confluent: un byte mágico (0x00), seguido de un ID de esquema de 4 bytes en formato big-endian, seguido del dato binario de Avro. Durante la lectura, ClickHouse resuelve el ID de esquema consultando el registro. Durante la escritura, ClickHouse registra el esquema derivado de las columnas de salida y antepone el ID resultante a cada fila. Los esquemas se almacenan en caché para un rendimiento óptimo.
Correspondencia de tipos de datos
INSERT y SELECT.
byteses el valor predeterminado y se controla mediante la configuraciónoutput_format_avro_string_column_pattern
null como valor de un campo, por lo que, por ejemplo, union(T1, T2, null) de Avro se convertirá en Variant(T1, T2).
Como resultado, al generar Avro desde ClickHouse, siempre tenemos que incluir el tipo null en el conjunto de tipos de union de Avro, ya que durante la inferencia del esquema no sabemos si algún valor es realmente null.
*** Tipos lógicos de Avro
Tipos de datos lógicos de Avro no compatibles:
time-millistime-microsduration
Configuración del formato
Ejemplos
Lectura desde Kafka
format_avro_schema_registry_url para indicar la URL del registro de esquemas.
Escribir en Kafka
Uso de la autenticación básica
format_avro_schema_registry_url.
Solución de problemas
system.kafka_consumers. Si tu implementación tiene varias réplicas (p. ej., ClickHouse Cloud), debes usar la función de tabla clusterAllReplicas.