flink 批处理定时执行_Flink 源码分析系列之StreamTask

本文深入分析了Flink的StreamTask,它是Flink作业执行的基础。StreamTask层级结构包括AbstractInvokable、StreamTask及其特定实现如SourceStreamTask、OneInputStreamTask和TwoInputStreamTask。在StreamTask的生命周期中,主要分为初始化、执行和资源释放三个阶段,涉及StreamOperator的初始化、状态管理以及异常处理。此外,StreamTask还实现了AsyncExceptionHandler接口,确保异步异常能够被主线程捕获,并利用lock对象保证数据一致性。
摘要由CSDN通过智能技术生成

点击上方蓝

字关注~

       

在前一篇StreamOperator源码简析中提到StreamOperator上层是由StreamTask调用,也就是说StreamTask会在发生不同阶段、不同动作去调用StreamOperator对应的方法,在Flink中将StreamTask称之为Invokable,这篇主要从源码角度分析一下StreamTask。

StreamTask层级结构

b0b2744b0d8ce8c5dd498715aaf71b52.png

AbstractInvokable :是一个抽象类,代表最顶层的Invokable,在这个抽象类里面声明了最要的方法invoke,可以认为是task执行的起点,里面涉及的具体流程稍后会做分析;另外还声明了与checkpoint动作相关的方法triggerCheckpoint/triggerCheckpointOnBarrier/notifyCheckpointComplete;

StreamTask: 是AbstractInvokable的基本抽象实现类,其也是一个抽象类,实现了invoke、triggerCheckpoint等方法,另外声明了init、run等StreamTask声明周期的抽象方法,具体实现类有一下三个:

  • SourceStreamTask 代表源(StreamSource)的Invokable

  • OneInput

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值