Kafka SMT用于ISO UTC日期时间格式的日期时间转换

时间:2019-05-01 14:36:35

标签: datetime apache-kafka apache-kafka-connect

是否可以在源连接器中将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可以解决问题,但在这种情况下不起作用。

1 个答案:

答案 0 :(得分:1)

ISO_INSTANT不是SimpleDateFormat字符串格式,它是java.time.* API中的一个静态字段,Connect不使用

您必须明确写出“ yyyy-MM-dd HH:mm:ss”的完整值