jdbc - 如何在 Confluent Kafka 连接中将时间戳值格式化为日期格式 - JDBC Oracle 源连接器
问题描述
我在 Kafka Connect 中设置了一个 JDBC Oracle 源连接器,并且在 Oracle 表中有一个时间戳列,其值设置为日期格式“21-MAR-18 05.39.44.0194990 AM”。
Oracle 表中的所有数据都被提取到 Kafka 主题中,但是 Oracle 表中日期格式的列(时间戳列)的值被转换为毫秒,并以毫秒值显示在主题中。我希望收到 Oracle 表中的日期格式。
{
"name":"JDBC_CONN_1",
"config": {
"connector.class": "io.confluent.connect.jdbc.JdbcSourceConnector",
"connection.url": "jdbc:oracle:thin:@<hostname>:1521/<servicename>",
"connection.user": "User",
"connection.password": "Password",
"table.whitelist": "Table_Name",
"catalog.pattern": "",
"schema.pattern": "Schema_Name",
"mode": "bulk",
"poll.interval.ms": "1000",
"numeric.mapping":"best_fit",
"topic.prefix": "JDBC_CONN_1"
}
}
数据库表列:
UPDATED_ON TIMESTAMP(6) Not Null
column value - 27-MAR-18 05.39.44.0194490 AM
主题中的值:1522129184019(等效毫秒格式)
解决方案
您可以使用 SMT TimeStampConverter
https://docs.confluent.io/current/connect/transforms/timestampconverter.html#timestampconverter
解决您的问题的示例接缝:
"transforms": "TimestampConverter",
"transforms.TimestampConverter.type": "org.apache.kafka.connect.transforms.TimestampConverter$Value",
"transforms.TimestampConverter.format": "yyyy-MM-dd"
"transforms.TimestampConverter.target.type": "string"
前:1556204536000
后:"2014-04-25"
推荐阅读
- android - 莫西。父抽象类中的@Json 注解被忽略
- javascript - 处理未定义函数后的异常
- javascript - 重新初始化数据表jquery后行数据未定义
- c# - 有什么理由在转换为 Base64 以传递之前保存文件?
- powerbi - Power BI Rest API -> 网关 -> 添加数据源用户
- confusion-matrix - 用于分类的混淆矩阵输出中缺少一些类标签
- azure - 如何跨多个 Azure DevOps 项目创建仪表板?
- javascript - HTML 表格导出到 JavaScript 数组
- r - 参考每月退款数据框在交易数据框中查找最终价格
- javascript - 连接对象数组中的字符串