1,checkpoint是在JM段做的,容错和重启也是在JM做的
2,Client 会把任务转换成streamGraph和JobGraph,JM端会生成ExecutionGraph然后分发给TM去执行
3,checkpoint可以从最近的一次重启任务,只能保证不丢数,不能保证只处理一次,实际上是至少处理一次,所以还需要结合两阶段提交去解决
4,JM去调度作业的时候需要去资源管理器ResourceMananger去申请资源,然后再去分发给TM执行
5,windowTrigger的几种处理结果
1)continue 继续不做任何 *** 作
3)Purge 触发清理,清理窗口里的数据
4)Fire+Purge 触发计算+清理数据
6,waterMark理解为deadline更合适一下,用于数据延迟处理,乱序等问题,双流join
7,延迟严重需要用到allowedLateness (允许迟到机制/旁路输出)
8,state状态的概率,面试官问道这个问题我会懵了一下,现在我帮大家梳理下应该从哪几个点怎么回答一下
1)总体来说,state状态就是flink保持中间结果和缓存一些数据
2)如果一次计算不依赖上下游,则称为无状态计算,否则是有状态计算
3)分为 原始状态(用户自己管理) 托管状态(flink系统管理)
4)根据是否有key分为 keyedState(跟key绑定) OperatorState(整个算子级别的只支持ListState)
5)广播状态,广播出去算子本地存储,必须是MapState
6)三张存储方式 MemoryStateBackend FSStateBackend RocksDB
7)持久化策略:增量持久化 全量持久化
8)状态过期清理策略 StateTtlConfig
9,checkpoint和savepoint本质没区别,cp是系统每隔一段时间做的快照,用于任务容错重启,sp是用户定义的一个快照,用于比较大的调整比如系统升级,ABtest等
10,checkpoint里保存的是什么,如果是kakfa处理数据,则每次checkpoint提交成功即为offset的一次提交
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)