Flink这个是什么情况?我们的mysql 数据库、flink、hologres 的时区是东八区,里面所有的表的timestamp类型的时间都是存的UTC 时间,现在通过Flink的cdas 语法同步到hologres 里面以后,都变成timestamptz类型,hologres里面直接就将UTC的时间显示为东八区了,这样就与实际的时间少了8小时,有什么办法能够将这个时间在同步的时候转回来吗?
例:mysql 2023-01-17 10:15:07(timestamp) 是UTC 时间,对应东八区时间应该是2023-01-17 18:15:07,但是通过flink的cdas 同步到hologres 后,hologres 显示为2023-01-17 10:15:07+08(timestamptz类型),实际应该显示为2023-01-17 18:15:07。
Flink SQL> SET 'table.local-time-zone' = 'Asia/Shanghai';
Flink SQL> SELECT CAST('2023-01-17 10:15:07' AS TIMESTAMP(3)) AS t;
+-------------------------+
| t |
+-------------------------+
| 2023-01-17 10:15:07.000 |
+-------------------------+
Flink SQL> SELECT CAST('2023-01-17 10:15:07' AS TIMESTAMP_LTZ(3)) AS t;
+---------------------------+
| t |
+---------------------------+
| 2023-01-17 10:15:07.000Z |
+---------------------------+
Hologres> SELECT TO_TIMESTAMP('2023-01-17 10:15:07.000Z', 'YYYY-MM-DD HH24:MI:SS.FF3TZH:TZM') AS t;
+-------------------------+
| t |
+-------------------------+
| 2023-01-17 18:15:07.000 |
+-------------------------+
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。