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

Flink CDC控制台上取消任务 不会保存savepoint吗?

Flink CDC控制台上取消任务 不会保存savepoint吗?image.png
FLINk CDC 任务今天遇到一条脏数据,然后想开一下容忍行 'sink.properties.max_filter_ratio' = '0.1',

结果好像全部重新消费了,数据有1亿多行

展开
收起
真的很搞笑 2023-11-01 14:50:50 339 0
3 条回答
写回答
取消 提交回答
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    如果在 Flink 控制台上点击取消任务(Cancel Job),Flink 会在任务停止时保存 Savepoint。不过需要注意的是,Savepoint 只会在 Checkpoint 中保存 Flink 的运行状态和元数据,并不能保存用户的数据。因此,在取消任务时,需要提前做好数据备份,并妥善处理后续的工作。
    另外,可以通过命令行操作,使任务在完成任务前生成 Savepoint。具体的命令如下:

    flink stop [jobid] --savepoint path/to/savepoint
    

    这样便可以生成一个 Savepoint 文件,保存运行状态及状态。

    2023-11-02 14:57:30
    赞同 展开评论 打赏
  • 在Flink CDC中,如果你直接在控制台上取消任务,那么当前的任务状态将会丢失,包括所有的savepoint。这是因为在控制台上取消任务实际上是在停止任务,而停止任务并不会保存任何的状态信息。

    如果你想在任务出现问题时能够恢复到之前的某个状态,你需要在任务启动时就设置好savepoint的策略。在Flink CDC中,你可以通过在任务配置文件中设置execution.checkpointing.intervalexecution.checkpointing.timeout两个参数来控制savepoint的生成频率和时间间隔。

    至于你提到的脏数据问题,如果你想要让任务对脏数据有一定的容忍度,你可以通过设置sink.properties.max_filter_ratio参数来实现。这个参数的值表示任务可以接受的脏数据的最大比例。例如,如果这个参数的值为0.1,那么任务可以接受最多10%的脏数据。

    然而,需要注意的是,这个参数并不能保证任务在遇到脏数据时能够正常运行。相反,它只是让任务在遇到脏数据时能够继续运行,而不是立即停止。因此,如果你发现任务在处理脏数据时出现了异常,你应该首先检查你的数据质量,然后再考虑是否需要调整这个参数的值。

    2023-11-02 14:41:56
    赞同 展开评论 打赏
  • 不会,此回答整理自钉群“Flink CDC 社区”

    2023-11-01 21:50:42
    赞同 展开评论 打赏

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

相关产品

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

    更多
    Flink CDC Meetup PPT - 龚中强 立即下载
    Flink CDC Meetup PPT - 王赫 立即下载
    Flink CDC Meetup PPT - 覃立辉 立即下载