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

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

展开
收起
爱喝咖啡嘿 2023-01-03 14:48:39 303 分享 版权
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 版(Alibaba Cloud Realtime Compute for Apache Flink,Powered by Ververica)是阿里云基于 Apache Flink 构建的企业级、高性能实时大数据处理系统,由 Apache Flink 创始团队官方出品,拥有全球统一商业化品牌,完全兼容开源 Flink API,提供丰富的企业级增值功能。
还有其他疑问?
咨询AI助理