Flink作业消费数据源来自mysql业务表,后者使用了`0000-00-00 00:00:00`这个dummy date来存时间,直接用Flink 
CDC消费的话会被解析成`1970-01-01 00:00:00` (mysql中是datetime类型)或者`1970-01-01 08:00:00` 
(mysql中是timestamp类型)。
问题1:可否给个Flink CDC选项,遇到这种dummy时间转成NULL?存量query和增量消费binlog处理这种dummy时间结果一致么?
问题2:如果是mysql -> mysql同步场景,使用Flink CDC在timestamp类型下不能够同步`0000-00-00 
00:00:00`这个dummy date,原因是Flink CDC转成了`1970-01-01 08:00:00` 
CST,对应到UTC时区是`1970-01-01 00:00:00`,而mysql官方文档[1]定义timestamp类型取值范围是'1970-01-01 
00:00:01' UTC to '2038-01-19 03:14:07' UTC,因此会认为`1970-01-01 08:00:00` CST是非法数据。


[1] https://dev.mysql.com/doc/refman/5.7/en/datetime.html

回复