taskbuilder开发项目实例 flink standalone的架构及原理?
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()[版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。