Flink核心抽象四算子

本文深入探讨Flink的算子行为,包括生命周期管理、状态与容错机制,以及Flink和Blink算子的差异。讲解了数据处理、异步算子的工作模式,并详细阐述了同步和异步访问模式如何影响系统性能。
摘要由CSDN通过智能技术生成

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(Watermark mark) throws Exception;
   //LatencyMarker的处理
   void processLatencyMarker(LatencyMarker latencyMarker) throws Exception;
}

(2)TwoInputStreamOperator(双流输入算子)

public interface TwoInputStreamOperator<IN1, IN2, OUT> extends StreamOperator<OUT> {
   //流1数据处理
   void processElement1(StreamRecord<IN1> element) throws Exception;
   //流2数据处理
   void processElement2(StreamRecord<IN2> element) throws Exception;
   //流1 Watermark处理
   void processWatermark1(Watermark mark) throw
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值