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

oracle cdc flink sql只能查到最新的一条,不能初始化,有遇到这个问题的同学吗?

oracle cdc flink sql只能查到最新的一条,不能初始化,有遇到这个问题的同学吗 c97dd2720971ac9b0588e79dda7f56d9.png

展开
收起
爱喝咖啡嘿 2023-01-03 14:48:39 212 0
1 条回答
写回答
取消 提交回答
  • 是的,有一些用户遇到过 Oracle CDC Flink SQL 只能查询到最新一条数据的问题,无法初始化历史数据。

    原因:

    此问题是由 Oracle CDC 中的限制引起的。Oracle CDC 仅捕获对表所做的增量更改,而不捕获表中的现有数据。因此,当 Flink 作业第一次启动时,它将无法访问表中的历史数据。

    解决方法:

    有两种方法可以解决此问题:

    1. 使用 Oracle Flashback 功能

    Oracle Flashback 功能允许你查询表中的历史数据。你可以使用以下步骤来初始化 Flink 作业的历史数据:

    在 Oracle 数据库中启用 Flashback 功能。
    创建一个 Flink 作业,使用带有 WITH AS OF SYSTEM TIME AS OF TIMESTAMP 子句的查询来查询表中的历史数据。
    将 Flink 作业配置为从 Oracle CDC 源开始,并指定要捕获的更改起始时间戳。

    1. 使用自定义数据源

    你可以编写一个自定义数据源,该数据源直接从 Oracle 数据库中读取历史数据。以下是一些可以帮助你入门的资源:

    Flink 自定义数据源文档
    Oracle JDBC 连接器示例
    注意:

    使用自定义数据源可能会更加复杂,但它可以提供对 Oracle 数据库中历史数据的完全访问。

    如果你遇到其他问题或需要进一步的帮助,请随时在 Flink 社区论坛或邮件列表上寻求帮助。

    2024-02-26 16:54:52
    赞同 展开评论 打赏

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

相关产品

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

    更多
    AnalyticDB基础版:云原生My SQL 敏捷数仓 立即下载
    第十二届 BigData NoSQL Meetup — 基于hbase的New sql落地实践 立即下载
    时序数据库TSDB的SQL与流计算 立即下载

    相关镜像