在 Flink CDC 中,您可以根据字段名称来判断一个字段是否是日期类型。通常,日期类型的字段名称会包含 date 或 time 关键字。
此外,您也可以根据字段的数据类型来判断一个字段是否是日期类型。例如,Oracle 数据库中的 DATE 数据类型映射为 Java 的 java.sql.Date 类型,而 TIMESTAMP 数据类型映射为 java.sql.Timestamp 类型。
Flink CDC可以识别日期类型,在处理过程中,如果发现字段是timestamp类型,Flink CDC会将其转换为时间戳。对于MySQL的Date类型数据,Flink CDC读取出来的数据可能会和数据库的日期时间不一致。为了解决这个问题,可以在Flink CDC任务中添加相应的转换器。具体来说,可以在MySQL数据源的debezium.source.converter配置项中指定io.debezium.connector.mysql.converters.TimestampConverter转换器,这样Flink CDC将会将datetime类型转换为ISO-8601格式的字符串,而不是时间戳。此外,还可以通过识别十三位数字进行转换为日期格式,或者对于date类型,人工穷举字段类型进行转换。
需要你自己搞的哈,不要用官方的 JsonDebeziumDeserializationSchema
https://ververica.github.io/flink-cdc-connectors/master/content/about.html
这样你就没问题了吧,字段类型你也拥有了
schema里面会有data type ,你判断下然后找下对应字段,取值转一下,此回答整理自钉群“Flink CDC 社区”
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。