Apache Flink

Apache Flink是一个专注于数据stream processing的引擎,但也支持batch processing。其核心是流处理,通过数据流图执行任务,具备低延迟和高吞吐特性。Flink通过在stream中插入控制事件如checkpoint barriers、watermarks和iteration barriers实现容错和窗口管理。在上层,Flink提供有状态的流处理和流窗口功能,适用于状态管理和时间窗口分析。
摘要由CSDN通过智能技术生成

Apache Flink论文简读

Apache Flink™: Stream and Batch Processing in a Single Engine

Flink不同于Spark的batch processing,它着眼于data streaming processing。它的输入可被看做一条无穷的stream,将函数应用到stream上,再输出。Flink底层是流式处理,延迟更小,但是在某些时候batch processing可能更有效,因此Flink在上层也基于流式处理构建了batch处理,它通过记录流式处理的start point,以及维护流式运行过程中的state来实现一个窗口的batch处理。

batch处理与流式处理的异同

  1. batch看到是一个dataset,它可认为是一堆无序的records集合,然后将算法应用到dataset上面。Spark采用的内存型的RDD,然后将其划分成一个个的小的batch,Schedule这些batch到不同的机器上执行。Spark的batch处理过程可看做一个有向无环图,在多轮iteration的过程中,会不断的schedule job,会有一定的处理时延。
  2. 流式处理看到的是一条具有无限输入的记录流,与batch不同的是,它的输入有序,并有时间戳的概念。Flink在这个数据流上应用算法处理数据,延迟很低;在有batch需求的场景下,可通过设置流处理起始点,并记录处理状态,更新状态,来实现batch处理。此外,Flink有一个专门设计的API来支持static datasets,它使用专门的数据结构和算法,往往更高效。

Fli

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值