是否可以在源连接器中将MySQL中datetime
类型的列转换为UTC-ISO DateTime格式?
输入详细信息
列名称:Modified_dtmStamp
样本值:2018-08-03 16:37:20
...
"transforms.TimestampConverter.type": "org.apache.kafka.connect.transforms.TimestampConverter$Value",
"transforms.TimestampConverter.field": "Modified_dtmStamp",
"transforms.TimestampConverter.format": "ISO_INSTANT",
"transforms.TimestampConverter.target.type": "Timestamp"
实施了以上涉及https://docs.confluent.io/current/connect/transforms/timestampconverter.html的代码段。
错误:
"trace": "org.apache.kafka.common.config.ConfigException: Invalid value java.lang.IllegalArgumentException: Illegal pattern character 'I' for configuration TimestampConverter requires a SimpleDateFormat-compatible pattern for string timestamps: ISO_INSTANT\n\tat org.apache.kafka.connect.transforms.TimestampConverter.configure(TimestampConverter.java:263)\n\tat org.apache.kafka.connect.runtime.ConnectorConfig.transformations(ConnectorConfig.java:257)\n\tat ........
------------------------------------------------------------------------
在上述连接器代码段中将format
更改为yyyy-MM-dd
,如示例所示。
但是,专门寻找UTC-ISO格式。 ISO_INSTANT可以解决问题,但在这种情况下不起作用。
答案 0 :(得分:1)
ISO_INSTANT
不是SimpleDateFormat字符串格式,它是java.time.*
API中的一个静态字段,Connect不使用
您必须明确写出“ yyyy-MM-dd HH:mm:ss”的完整值