开发者社区> 问答> 正文

如果有些map阶段的计算很慢,它发checkpoint也很慢,那么这样会阻塞reduce opera

假设一个简单的map和reduce操作。A是Map Operator,B是keyby Operator。

A有两个task:taskA1和taskA2,B只有一个taskB

如果taskA2执行的特别慢,taskA1执行完毕checkpoint

cp1后,告诉了taskB,然后已经开始(或者说可以开始)处理下一个checkpoint cp2的数据了。

这时候taskA2还在缓慢的处理cp1的数据。这时候:

taskA1会继续处理cp2的数据吗?

如果是继续处理,taskB会处理taskA传递给taskB的cp2的数据吗?

还是taskA1和taskB都停止处理*,*等taskA2?

同样的问题,如果taskA本身就是一个reduce操作(keyby),taskB是一个map操作。那么同样的问题,答案是一样的吗?

谢谢~*来自志愿者整理的flink邮件归档

展开
收起
船长的小螺号 2021-12-03 10:33:37 1059 0
1 条回答
写回答
取消 提交回答
  • A1会继续处理。如果是 exactly-once 模式,taskB 不会处理 taskA传递给taskB的cp2的数据。所以,如果 A2 非常非常慢,最终 taskB 会反压到 A1,导致 A1也无法继续处理数据。*来自志愿者整理的FLINK邮件归档

    2021-12-03 10:51:38
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载