You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Debezium如何关闭数据序列化以直接获取SQL Server源端原始数据

Debezium SQL Server 原始类型输出配置方案

核心类型处理配置

Debezium默认对数值、时间、二进制类型做特殊编码是为了跨系统兼容性,你可以通过修改以下原生配置项直接输出源端原始值,无需额外解码:

DECIMAL 类型配置

默认值为precision,会将DECIMAL编码为base64格式,修改为以下值可直接输出原始数值:

  • decimal.handling.mode=double:直接输出浮点型数值,适合对精度要求不高的场景,你举例的800.0会直接输出800.0而非编码字符串
  • decimal.handling.mode=string:以字符串格式输出原始数值,无精度损失,适合财务、计量等对精度要求极高的场景

时间/TIMESTAMP 类型配置

  • time.precision.mode=adaptive_time_microseconds:根据源端字段精度自动匹配输出格式,不会额外做编码转换,时间类型会直接输出对应精度的时间戳或者时间字符串
  • binary.handling.mode=hex:针对SQL Server特有的TIMESTAMP(别名ROWVERSION)二进制类型,直接输出十六进制字符串格式的原始值,无需解码

纯数据输出配置

如果输出结果带Schema包裹结构,可添加以下配置关闭Schema输出,直接返回纯业务数据:

  • value.converter.schemas.enable=false

不同部署方式配置添加方法

Debezium Server 配置

直接在application.properties文件中添加对应配置即可,完整示例:

# DECIMAL类型输出为浮点数值
debezium.source.decimal.handling.mode=double
# 时间类型自适应输出原始格式
debezium.source.time.precision.mode=adaptive_time_microseconds
# TIMESTAMP(ROWVERSION)类型输出十六进制原始值
debezium.source.binary.handling.mode=hex
# 关闭Schema包裹,直接输出纯数据
debezium.source.value.converter=org.apache.kafka.connect.json.JsonConverter
debezium.source.value.converter.schemas.enable=false

Debezium Kafka Connect 连接器配置

在连接器的JSON配置的config节点中添加对应参数即可,完整示例:

{
  "name": "sqlserver-connector",
  "config": {
    "connector.class": "io.debezium.connector.sqlserver.SqlServerConnector",
    // 其他常规连接配置省略
    "decimal.handling.mode": "double",
    "time.precision.mode": "adaptive_time_microseconds",
    "binary.handling.mode": "hex",
    "value.converter": "org.apache.kafka.connect.json.JsonConverter",
    "value.converter.schemas.enable": "false"
  }
}

修改配置重启服务后即可获得无编码的源端原始数据。

内容的提问来源于stack exchange,提问作者Akshay

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 10:15:04