请问flinkcdc把oracle的时间类型都转成int64类型了,用RowTypeInfo转换的时候用java的什么类型转换int64字段啊?
在 Flink CDC 中,Oracle 数据库中的时间类型(如 DATE、TIMESTAMP、TIMESTAMP WITH TIME ZONE 和 TIMESTAMP WITH LOCAL TIME ZONE)都被转换为 INT64 类型的时间戳,以便更好地与 Flink 的时间处理器兼容。
在 Java 中,可以使用 java.sql.Timestamp 类型来表示时间戳,它可以存储年、月、日、小时、分钟、秒和纳秒。您可以使用 java.sql.Timestamp 类型来处理 Flink CDC 读取的 INT64 类型时间戳。
例如,可以使用以下代码将 INT64 类型时间戳转换为 java.sql.Timestamp 类型:
java
Copy
long timestamp = 1628115442000L; // INT64 类型时间戳
java.sql.Timestamp ts = new java.sql.Timestamp(timestamp);
同样,您也可以使用 java.sql.Timestamp 类型将时间戳转换为 INT64 类型:
java
Copy
java.sql.Timestamp ts = java.sql.Timestamp.valueOf("2022-08-05 15:30:00"); // java.sql.Timestamp 类型时间戳
long timestamp = ts.getTime(); // 转换为 INT64 类型时间戳
请注意,转换 INT64 类型时间
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。