Flink核心抽象四算子

Flink目前有两套算子体系,DataStream和DataSet,未来会用DataStream取代DataSet算子实现批流算子的统一。

一、算子行为

1、生命周期管理(StreamTask类管理算子的生命周期)

(1)setup

初始化环境,时间服务,注册监控

(2)open

算子的初始化逻辑,比如状态的初始化

(3)close

所有的数据处理完毕之后关闭算子,此时需要确保将所有的缓存数据向下游发送。

(4)dispose

算子生命周期最后一步,是close之后执行,主要用于资源的释放

2、状态与容错管理

算子负责状态管理,提供状态的存储,触发检查点的时候,保存状态快照,异步保存到外部的分布式存储中。当作业失败的时候算子负责从保存的快照中恢复状态

3、数据处理

对数据处理,同时支持Watermark和Latencymarker的处理。针对单流输入和双流输入,定义了不同的接口

(1)OneInputStreamOperator(单输入算子)

public interface OneInputStreamOperator<IN, OUT> extends StreamOperator<OUT> {

   //数据处理
   void processElement(StreamRecord<IN> element) throws Exception;
   //Watermark处理
   void processWatermark(Wat
上一篇:Flink独立集群部署和HA部署


下一篇:Flink源码阅读 - 日进斗经