2016-06-30 2 views
0

kafka-connect-jdbcを使用して、従来のデータベース(mysql上)からkafkaにデータをインポートしようとしています。私は基本的な例をセットアップし、それを動作させることができました。kafka-connect-jdbc日付時刻

問題の一つは、タイムスタンプすることになっている列の一つは、我々は例外を取得だってその全ての行に無効な値があるということです。

ます。java.sql.SQLException:価値「0000-00-00」はをjava.sql.Timestamp

として表すことができない私は簡単にその列を除外し、選択を書き込むことによって、カフカコネクト・-JDBCからカスタムクエリオプションを使用してインポートされたデータを持つことができますその列を除くクエリ。オフセット管理などの観点から、その意味を理解したかっただけです。文書の通り、問題の1つは、これがコネクターごとに1つのトピックに制限されるということです。心に留めておく必要があるものは何ですか?

答えて

0

接続文字列でmysql zeroDateTimeBehaviorオプションを使用してこの特定の問題(日付)を解決しました。このようなものを追加する& zeroDateTimeBehavior = roundは、日付が0000-00-00のまま残っていない場所に固定しました。詳細:MySQLのドキュメントから

ドライバが(無効な日付を表すためにMySQLで使用される)ゼロの完全 を構成しているDATETIME値に遭遇したときにどうするか

zeroDateTimeBehavior 

? 有効な値は、「例外」、「丸め」、および「convertToNull」です。

デフォルト:バージョン以来例外

:3.1.4

私はまだかかわらず、カスタムクエリを使用しての意味を知っていただきたいと思います。