📄️ Debezium JSON
debezium_json 编解码器(Codec)将 Debezium 变更数据捕获(CDC,Change Data Capture)信封(Envelope)JSON 解码为列式 Arrow MessageBatch。把它挂接到消费 Debezium 写入主题的 Kafka 输入上,即可将数据库变更事件(c/u/d/r)转换为可查询的行。CDC 偏移量不在此处管理——它由 Kafka 输入的 ack 门控偏移量负责。
📄️ JSON
JSON 编解码器(Codec)在按行分隔的 JSON 字节负载与列式 Arrow RecordBatch 之间相互转换。解码时使用 Arrow 的 schema 推断将 JSON 对象映射为列;编码时把每一行写成一个 JSON 对象并以换行符分隔。对于产生 JSON 的输入(Kafka、Redis、HTTP 等),它是最常用的编解码器。
📄️ Protobuf
Protobuf 编解码器(Codec)使用启动时从 .proto 文件编译出的描述符,在二进制 Protobuf 消息与列式 Arrow RecordBatch 之间相互转换。解码按配置的 MessageDescriptor 解析每个字节负载;编码则执行相反的过程。当输入产生原始 Protobuf(不带 Confluent schema-id 前缀)时使用它。
📄️ Schema Registry
schema_registry 编解码器(Codec)在运行时通过 Confluent Schema Registry 解析内嵌的 schema id,从而解码 Confluent 线路格式(wire format)的消息。每个 schema 版本(id)至多获取一次,并按编解码器实例缓存,因此同一条流内支持多版本 schema 演进:混合多个 schema 版本的批次会先归一到字段名并集 schema(某版本缺失的列以 null 填充)再合并;同一列在不同版本中类型不同时会显式报错(错误信息含列名与两个类型),绝不猜测转换。Protobuf 与 Avro 两种 subject 均受支持,依据注册表返回的 schemaType 进行分发。可选的 subject 兼容性门控会在某个 subject 的注册兼容级别低于配置的最低要求时让流快速失败。