当前位置:网站首页>Specific meanings of node and edge in Flink graph
Specific meanings of node and edge in Flink graph
2022-06-25 11:39:00 【Direction_ Wind】
StreamGraph: It's based on the user's adoption of Stream API The original diagram generated by the written code . Used to represent the topology of a program .
JobGraph:StreamGraph After optimization, it generates JobGraph, Submit to JobManager Data structure of . The main optimization is , Multiple nodes that meet the conditions chain Together as a node , This reduces the serialization required for data to flow between nodes / Deserialization / Transmission consumption .
ExecutionGraph:JobManager according to JobGraph Generate ExecutionGraph.ExecutionGraph yes JobGraph Parallel version of , It is the core data structure of scheduling layer .
Physical execution diagram :JobManager according to ExecutionGraph Yes Job After scheduling , In all TaskManager Upper Department Task After the formation of “ chart ”, It's not a specific data structure .
StreamGraph It's a mapping of user logic .JobGraph On this basis, some optimizations have been made , For example, fuck a part
Make string chain To improve efficiency .ExecutionGraph It exists for scheduling , Added the concept of parallel processing . And in the
What is really implemented on this basis is Task And its related structures .
Here is a brief explanation of some nouns .
StreamGraph: According to the user through Stream API The original diagram generated by the written code .
StreamNode: To represent operator Class , And has all the relevant properties , Such as concurrency 、 In and out, etc .
StreamEdge: Means to connect two StreamNode The edge of .
JobGraph:StreamGraph After optimization, it generates JobGraph, Submit to JobManager Data structure of .
JobVertex: After optimization, there are many qualified StreamNode May be chain Together, generate a JobVertex, That is, a * * JobVertex Contains one or more operator,JobVertex The input is JobEdge, The output is IntermediateDataSet.
IntermediateDataSet: Express JobVertex Output , That is, through operator Process the resulting data set .producer yes JobVertex,consumer yes JobEdge.
JobEdge: On behalf of job graph A data transmission channel in .source yes IntermediateDataSet,target yes JobVertex. That is, the data passes through JobEdge from IntermediateDataSet Pass to target JobVertex.
ExecutionGraph:JobManager according to JobGraph Generate ExecutionGraph.ExecutionGraph yes JobGraph Parallel version of , It is the core data structure of scheduling layer .
ExecutionJobVertex: and JobGraph Medium JobVertex One-to-one correspondence . every last ExecutionJobVertex There are as many as concurrency ExecutionVertex.
ExecutionVertex: Express ExecutionJobVertex One of the concurrent subtasks of , Input is ExecutionEdge, The output is IntermediateResultPartition.
IntermediateResult: and JobGraph Medium IntermediateDataSet One-to-one correspondence . One IntermediateResult Contains multiple IntermediateResultPartition, The number of them is equal to this operator The concurrency of .
IntermediateResultPartition: Express ExecutionVertex An output partition of ,producer yes ExecutionVertex,consumer It's a number of ExecutionEdge.
ExecutionEdge: Express ExecutionVertex The input of ,source yes IntermediateResultPartition,target yes ExecutionVertex.source and target Can only be one .
Execution: It's the execution of a ExecutionVertex An attempt to . In case of failure or data recalculation ExecutionVertex There may be more than one ExecutionAttemptID. One Execution adopt ExecutionAttemptID To uniquely identify .JM and TM About task The deployment and task status All updates are made through ExecutionAttemptID To determine the message recipient .
Physical execution diagram :JobManager according to ExecutionGraph Yes Job After scheduling , In all TaskManager Upper Department Task After the formation of “ chart ”, It's not a specific data structure .
Task:Execution Assigned after being dispatched TaskManager Start the corresponding Task.Task Wrapped with user execution logic operator.
ResultPartition: Represents by a Task The generated data , and ExecutionGraph Medium IntermediateResultPartition One-to-one correspondence .
ResultSubpartition: yes ResultPartition A subarea of . Every ResultPartition Contains multiple ResultSubpartition, The amount will be consumed by the downstream Task Sum of numbers DistributionPattern To decide .
InputGate: representative Task Input encapsulation of , and JobGraph in JobEdge One-to-one correspondence . Every InputGate Consumed one or more ResultPartition.
InputChannel: Every InputGate Will contain more than one InputChannel, and ExecutionGraph Medium ExecutionEdge One-to-one correspondence , And also ResultSubpartition One to one connection , That is, a InputChannel Receive one ResultSubpartition Output .
边栏推荐
- Upload and modify the use of avatars
- TCP如何處理三次握手和四次揮手期間的异常
- What is the development history, specific uses and structure of the chip
- 查询法,中断法实现USART通信
- Jincang KFS data cascade scenario deployment
- Démarrer avec Apache shenyu
- Is it safe to open a stock account on your mobile phone? Who can I open an account with?
- 寿命分布 4种
- 记一次有趣的逻辑SRC挖掘
- Leetcode 1249. Remove invalid brackets (awesome, finally made)
猜你喜欢
What is the development history, specific uses and structure of the chip
Source code analysis of AQS & reentrantlock
Upload and modify the use of avatars
Nacos installation and use
基于SSH的高校实验室物品管理信息系统的设计与实现 论文文档+项目源码及数据库文件
杭州/北京内推 | 阿里达摩院招聘视觉生成方向学术实习生(人才计划)
Apache ShenYu 入门
牛客网:主持人调度
Query method and interrupt method to realize USART communication
Golden sun education listed in the U.S.: a small cap medium cap stock with a market value of USD 360million
随机推荐
Keywords serializable serialization and deserialization
Use of comparable (for arrays.sort)
CFCA安心签接入
GCC related
贝叶斯
Is it safe to open a stock account on your mobile phone? Who can I open an account with?
Introduction to socket UDP and TCP
Vulnérabilité à l'injection SQL (contournement)
An interesting logic SRC mining
JVM 原理简介
Detailed explanation of Spark's support source code for Yan priority
Detection and analysis of simulator in an app
Apache ShenYu 入門
Countdownlatch source code analysis
Detailed explanation of spark specification
Some assembly instructions specific to arm64
What is the development history, specific uses and structure of the chip
Big Endian 和 Little Endian
SQL injection vulnerability (type chapter)
How to start the phpstudy server