Kafka SMT для преобразования даты и времени в формат даты и времени ISO UTC - PullRequest
0 голосов
/ 01 мая 2019

Можно ли преобразовать столбец типа datetime в MySQL, преобразовать его в формат DateTime UTC-ISO в исходном соединителе?

Подробности ввода
Имя столбца: 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 Ответ

1 голос
/ 01 мая 2019

ISO_INSTANT не является строковым форматом SimpleDateFormat, это статическое поле в java.time.* API, которое Connect не использует

. Вы должны явно указать полное значение для "yyyy"-ММ-дд ЧЧ: мм: сс "

...