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

Flink CDC中oracle-cdc 2。3同步日期带时分秒的时候,有这个错呀?

Flink CDC中oracle-cdc 2。3同步日期带时分秒的时候,有这个错呀?
java.time.DateTimeException: Invalid value for EpochDay (valid values -365243219162 - 365241780471): 1681434000000
at java.base/java.time.temporal.ValueRange.checkValidValue(ValueRange.java:311)
at java.base/java.time.temporal.ChronoField.checkValidValue(ChronoField.java:717)
at java.base/java.time.LocalDate.ofEpochDay(LocalDate.java:341)
at

展开
收起
十一0204 2023-07-26 08:07:07 169 0
2 条回答
写回答
取消 提交回答
  • 根据你提供的错误信息,看起来是在使用 Flink CDC 中的 Oracle CDC 2.3 版本同步日期带时分秒的数据时出现了问题。错误提示中提到了 java.time.DateTimeExceptionInvalid value for EpochDay

    这个问题可能是由于日期值超出了有效的范围引起的。在 Java 8 及以上版本中,LocalDate 类表示的是不带时分秒的日期。如果你的数据包含有时分秒信息,并且尝试将其映射到 LocalDate 类型上,就会导致该异常。

    为了解决这个问题,你可以考虑使用带有时区信息的日期时间类,例如 java.time.LocalDateTimejava.time.ZonedDateTime,而不是仅使用 LocalDate 类型。这样可以确保能够正确地存储和处理日期带时分秒的数据。

    具体操作取决于你在 Flink CDC 中的配置和代码逻辑。如果你能提供更详细的代码片段或配置信息,我可以帮助你更具体地解决该问题。

    另外,你也可以查看 Flink 的日志文件以获取更多的错误堆栈信息,以便更好地理解问题的原因。

    2023-07-31 23:03:29
    赞同 展开评论 打赏
  • 北京阿里云ACE会长

    在使用 Flink CDC 的 Oracle CDC Connector 进行数据同步时,如果同步的日期字段带有时分秒信息,可能会出现以下错误:
    Copy
    java.sql.SQLException: Invalid column type: 1111
    这是因为 Oracle 数据库中的 DATE 数据类型只包含日期信息,不包含时间信息,而 Flink CDC 的 Oracle CDC Connector 默认将 DATE 数据类型映射为 Java 的 java.sql.Date 类型,不包含时间信息,因此在同步带有时间信息的日期字段时会出现上述错误。
    如果需要同步带有时间信息的日期字段,您可以将 Oracle 数据库中的 DATE 数据类型映射为 Java 的 java.sql.Timestamp 类型,以包含日期和时间信息。具体来说,您可以在 Flink CDC 的 Oracle CDC Connector 的配置文件中设置 timestamp-with-timezone-types 参数,将其值设置为 DATE,以将 DATE 数据类型映射为 java.sql.Timestamp 类型。示例如下:
    Copy
    "timestamp-with-timezone-types": "DATE"
    设置完毕后,Flink CDC 的 Oracle CDC Connector 将会将带有时间信息的日期字段映射为 java.sql.Timestamp 类型,以保留日期和时间信息,并避免上述错误的出现。

    2023-07-29 16:23:16
    赞同 展开评论 打赏

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

相关产品

  • 实时计算 Flink版
  • 相关电子书

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

    相关镜像