开发者社区 > 大数据与机器学习 > 实时计算 Flink > 正文

请问flinkcdc把oracle的时间类型都转成int64类型了用java的什么类型转换?

请问flinkcdc把oracle的时间类型都转成int64类型了,用RowTypeInfo转换的时候用java的什么类型转换int64字段啊?

展开
收起
十一0204 2023-07-19 17:20:21 53 0
2 条回答
写回答
取消 提交回答
  • 北京阿里云ACE会长

    在 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 类型时间

    2023-07-29 20:11:58
    赞同 展开评论 打赏
  • 意中人就是我呀!

    int类型是时间戳,自己时间函数转换下就行。此回答整理至钉群“Flink CDC 社区”。

    2023-07-19 17:43:07
    赞同 展开评论 打赏

实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。

相关电子书

更多
PostgresChina2018_樊文凯_ORACLE数据库和应用异构迁移最佳实践 立即下载
PostgresChina2018_王帅_从Oracle到PostgreSQL的数据迁移 立即下载
Oracle云上最佳实践 立即下载

相关镜像