Как определить схему при создании коннектора Kafka с помощью REST API - PullRequest
0 голосов
/ 01 октября 2019

Я настроил сотрудников Kafka connect для работы в кластере и получения данных БД. Также я сохранил данные БД в темах Кафки в формате JSON. Здесь я использовал конвертер JSON для сериализации данных

. При просмотре данных БД в консоли пользователя Kafka я вижу, что значение столбца UserCreatedon отображается как целое число. Тип данных значения столбца UserCreatedon в БД - int64 (время эпохи Unix), поэтому значение метки времени отображается потребителем Kafka как int

. Есть ли способ отправки схемы во время создания соединителя. Потому что я хочу, чтобы UserCreatedon отображался в формате метки времени вместо int

Пример вывода

{"schema": {"type": "struct", "fields": [{"type": "строка", "необязательно": ложные, "поле": "иМЯ"}, { "типа": "Int64", "необязательно": правда, "название": "org.apache.kafka.connect.data. Отметка времени "," версия ": 1," поле ":" UserCreatedON "}]," необязательно ": false}," полезная нагрузка ": {" NAME ":" UserProvision "," UserCreatedon ": 1567688965261}}

Пожалуйста, много просите вашей поддержки здесь.

1 Ответ

0 голосов
/ 01 октября 2019

Вы не упомянули, какой тип разъема вы используете для передачи данных в Kafka из БД. Кафка коннект поддерживает опоры трансформаторов.

Преобразования одиночного сообщения (SMT) применяются к сообщениям, которые проходят через Connect. SMT преобразуют входящие сообщения после того, как соединитель источника произвел их, но до того, как они будут записаны в Kafka

См. здесь

Специально для вашего случая вы можете использовать TimestampConvertor

...