整体架构,这张图算是老生常谈了,不过确实很经典把所有大的概念和细节都展示出来了
1,checkpoint是在JM段做的,容错和重启也是在JM做的
2,Client 会把任务转换成streamGraph和JobGraph,JM端会生成ExecutionGraph然后分发给TM去执行
3,checkpoint可以从最近的一次重启任务,只能保证不丢数,不能保证只处理一次,实际上是至少处理一次,所以还需要结合两阶段提交去解决
4,JM去调度作业的时候需要去资源管理器ResourceMananger去申请资源,然后再去分发给TM执行
5,windowTrigger的几种处理结果
1)continue 继续不做任何操作
2)Fire 触发计算,处理窗口数据
3)Purge 触发清理,清理窗口里的数据
4)Fire+Purge 触发计算+清理数据
6,waterMark理解为deadline更合适一下,用于数据延迟处理,乱序等问题,双流join
7,延迟严重需要用到allowedLateness (允许迟到机制/旁路输