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

大佬们 用stream API的方式抽取oracle的数据全是一直在重复读取全量数据 这个怎么解决

如题

展开
收起
游客3oewgrzrf6o5c 2022-07-03 18:11:11 377 0
1 条回答
写回答
取消 提交回答
  • 十分耕耘,一定会有一分收获!

    楼主你好,可以尝试使用增量抽取的方式,即根据变化的情况只抽取新的或者发生改变的数据。具体做法可以使用以下方法:

    1.使用增量字段,比如时间戳、版本号等,根据这些字段来判断数据是否发生了变化。

    2.将增量字段的值记录下来,下一次抽取时只抽取增量字段值发生变化的数据。

    3.可以考虑使用阿里云Stream API中的Checkpoint机制,即定期将增量字段值记录到Checkpoint中,下一次启动应用时从Checkpoint中读取增量字段值,从而实现增量抽取。

    4.如果数据量较大,可以考虑使用分页抽取的方式,并在每次抽取后将已抽取的数据的最大值记录下来,下一次抽取时从该最大值开始抽取。

    通过上述方式可以避免重复读取全量数据,同时只抽取需要的数据,提高抽取效率,减少资源消耗。

    2023-08-22 16:50:14
    赞同 展开评论 打赏

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

相关电子书

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

相关镜像