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

如何通过JDBC Connector将Oracle指定日期列转为Kafka Topic的int类型

实现方法:使用Kafka Connect SMT单独转换指定日期字段

你可以通过Kafka Connect的**Single Message Transform(SMT)**单独处理TEST_DATE字段,无需改动其他配置或字段。用内置的TimestampConverter SMT就能把当前的long型timestamp-millis转成int型的date逻辑类型。

具体配置步骤

在你的JDBC Connector配置中添加以下SMT相关参数:

# 启用SMT并命名转换规则
transforms=convertTestDate
# 指定转换类型为作用于消息Value的TimestampConverter
transforms.convertTestDate.type=org.apache.kafka.connect.transforms.TimestampConverter$Value
# 明确只处理TEST_DATE字段
transforms.convertTestDate.field=TEST_DATE
# 源字段类型:当前是timestamp-millis类型的Timestamp
transforms.convertTestDate.source.type=Timestamp
# 目标类型:转为Kafka Connect的Date逻辑类型(对应int存储)
transforms.convertTestDate.target.type=Date

配置说明

  • 该配置仅对TEST_DATE字段生效,其他日期字段不受影响
  • TimestampConverter会自动将毫秒级时间戳转换为从1970-01-01开始的天数,以int类型存储,同时自动为字段添加你需要的Avro Schema属性:connect.name=org.apache.kafka.connect.data.Date、logicalType=date
  • 这是Kafka Connect内置的SMT,无需额外安装插件,可直接配合你当前使用的io.confluent.connect.avro.AvroConverter工作

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 16:22:40