DAG(Directed Acyclic Graph)有向无环图,Spark中应用DAG对RDD的关系进行建模,形容了RDD的依赖关系,这种关系也被称之为lineage"血统",RDD的依赖关系应用Dependency保护,Dependency分为宽依赖(一个父RDD被多个子RDD分区应用,有shuffle)和窄依赖(一个父RDD只被一个子RDD分区应用),DAG在Spark中对应的实现为DAGScheduler。

用户提交的Flink Job会被转化成一个DAG工作运行。一个Flink工作的DAG生成计算图大抵经验以下三个过程:

StreamGraph最靠近代码所表白的逻辑层面的计算拓扑构造,依照用户代码的执行程序向

StreamExecutionEnvironment增加StreamTransformation形成流式图。JobGraph从、StreamGraph生成,将能够串联合并的节点进行合并,设置节点之间的边,安顿资源共享slot槽位和搁置相关联的节点,上传工作所需的文件,设置检查点配置等。相当于通过局部初始化和优化解决的工作图。

ExecutionGraph由JobGraph转换而来,蕴含了工作具体执行所需的内容,是最贴近底层实现的执行图。
理解更多大数据培训相干技术内容欢送关注小编!