2016-06-30 4 views
0

Мы ищем импорт данных из нашей старой базы данных (на mysql) в kafka с помощью kafka-connect-jdbc. Я смог установить основные примеры и заставить их работать.kafka-connect-jdbc date time

Одной из проблем является то, что одна из колонн, которые, как предполагается, будет метка времени, имеет недопустимое значение для всех строк сог из которых мы получаем исключение:

java.sql.SQLException: Значение «0000-00-00» не может быть представлен в виде java.sql.Timestamp

можно легко исключить, что столбец и данные импортированы с помощью опции пользовательского запроса от Кафки-Connect-JDBC путем записи выберите запрос, исключая этот столбец. Просто хотелось понять последствия, с точки зрения управления смещением и т. Д. Одна из проблем, как в документах, заключается в том, что это ограничит меня одной темой для каждого соединителя. Что-нибудь еще, что нужно иметь в виду?

ответ

0

Я решил эту конкретную проблему (для дат) с использованием параметра mysql zeroDateTimeBehavior в строке подключения. Добавление чего-то вроде этого & zeroDateTimeBehavior = round исправил его для меня, где по датам больше не осталось 0000-00-00. Более подробная информация здесь:

Из документов MySql

zeroDateTimeBehavior 

Что должно произойти, когда водитель встречает значения DATETIME, которые состоит целиком из нулей (используемого MySQL для представления недействительных дат)? Допустимыми значениями являются «исключение», «круглый» и «convertToNull».

По умолчанию: исключение

Начиная с версии: 3.1.4

я все же хотел бы знать последствия использования пользовательских запросов, хотя.