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

Flink CDC在这种情况下,A,B数据也不能过期,所以这个state会越来越大?

Flink CDC在这种情况下,A,B数据也不能过期,所以这个state会越来越大?假设我现在用table api对 A,B两个表做join,结果是C,那A,B两个表的原始数据是存在state里面的,C存在checkpoint里面的,这样理解对吗

展开
收起
cuicuicuic 2023-11-01 14:59:10 42 1
2 条回答
写回答
取消 提交回答
  • 是的,你的理解是正确的。在Flink的Table API中,当你对一个表进行Join操作时,输入表的每一行数据都会被加载到State中,以便在Join操作中进行匹配。这意味着,如果你的输入表非常大,那么State的大小也会相应地增大。

    然而,这并不意味着State会一直保持不变。在Flink中,Checkpoint机制可以用来定期保存State的状态。当Checkpoint完成时,Flink会将State的状态持久化到存储系统中,并在后续的运算中继续使用这个State。这样,即使Flink任务失败,也可以通过恢复最近的Checkpoint来恢复State的状态,从而避免丢失数据。

    所以,虽然State的大小可能会随着输入数据量的增加而增加,但是通过合理的Checkpoint策略,可以有效地管理State的大小,避免State过大导致的问题。

    2023-11-02 14:27:22
    赞同 展开评论 打赏
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    Flink CDC是一个实时流处理框架,其特点之一就是支持状态管理和检查点功能。在这个过程中,如果A、B两个表的原始数据需要长期保留,则它们会在状态中存储,并不会过期,除非明确设置过期时间。
    假设您用Table API对A、B两张表进行join操作,结果是C,则A、B两张表的数据会被存放在状态中,C的结果数据会存在于检查点中。这样理解是对的。

    2023-11-02 14:27:26
    赞同 展开评论 打赏

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

相关产品

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

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