2016 - 2024

感恩一路有你

taskbuilder开发项目实例 flink standalone的架构及原理?

浏览量:2963 时间:2023-05-21 13:57:00 作者:采采

flink standalone的架构及原理?

一、整体架构

Flink以层级式系统形式组件其软件栈,不同层的栈确立在其下层基础上,而且各层进行程序完全不同层的抽象形式。

运行时层以JobGraph形式能接收程序。JobGraph即为一个像是化的并行数据流图(dataflow),它强大正二十边形数量的Task来接收和产生datastream。

DataStreamAPI和DataSetAPI都会不使用不能程序编译的处理生成气体JobGraph。DataSetAPI在用optimizer来确定对于程序的优化方法,而DataStreamAPI则不使用streambuilder来成功该任务。

在先执行JobGraph时,Flink需要提供了多种候选作战部署方案(如local,remote,YARN等)。

Flink附随了一些再产生DataSet或DataStreamAPI程序的的类库和API:去处理逻辑表可以查询的Table,机器学习的FlinkML,图像处理的Gelly,奇怪事件如何处理的CEP。

二、原理

1.流、转换、操作符

Flink程序是由Stream和Transformation这两个都差不多最终形成块混编,其中Stream是一个中间最后数据,而Transformation是一个操作,它对一个或多个再输入Stream参与可以计算如何处理,输出个或多个结果Stream。

Flink程序被不能执行的时候,它会被映射为StreamingDataflow。一个StreamingDataflow是由一组Stream和Transformation混编,它类似一个DAG图,在正常启动的时候从一个或多个Source结束,已经结束于一个或多个Sink。

2.分头并进数据流

三个Stream这个可以被组成多个Stream分区(Stream Partitions),两个可以不被等分多个Subtask,每一个Subtask是在有所不同的线程中的的不能执行的。一个的并行度,等于零 Subtask的个数,一个Stream的并行度我总是不等于能生成它的的并行度。

One-to-one模式

比如从Source

flink standalone的架构及原理?

到map()

flink standalone的架构及原理?

,它保持了Source的分区特性(Partitioning)和分区内元素去处理的更加有序性,也就是说map()[

程序 Flink 原理 Stream Graph

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。