Flink CDC operation_ts差了8个小时?配置了'server-time-zone' = 'Asia/Shanghai'
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
如果您在使用Flink CDC时发现操作时间戳(operation_ts)与您预期的时间相差8个小时,可能是由于时区设置不正确导致的。
在Flink CDC中,您可以通过在MySQL源表的连接参数中添加'server.time-zone'参数来设置正确的时区。确保将'server.time-zone'参数设置为正确的时区,例如'Asia/Shanghai'。
例如,在创建MySQL源表的DDL语句中,可以使用以下示例配置:
```CREATE TABLE my_source_table (
...
) WITH (
'connector' = 'mysql-cdc',
'hostname' = 'your_mysql_host',
'port' = 'your_mysql_port',
'username' = 'your_username',
'password' = 'your_password',
'database-name' = 'your_database',
'table-name' = 'your_table',
'debezium.snapshot.locking.mode' = 'none',
'server-id' = 'your_server_id',
'server.time-zone' = 'Asia/Shanghai'
);
```
请确保将上述代码中的your_mysql_host、your_mysql_port、your_username、your_password、your_database、your_table和your_server_id替换为适当的值。
通过正确配置时区参数,您应该能够在Flink CDC中正确处理操作时间戳(operation_ts)并与预期的时间相匹配。
如果问题仍然存在,请检查您的Flink集群的时区设置、操作系统的时区设置以及MySQL数据库的时区设置。确保所有相关组件都正确配置为所需的时区。
实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。