Apache Flink 中作业图与执行图的深入解析

Apache Flink 是一个用于分布式流处理和批处理的开源框架,它的核心概念之一是使用一系列层次化的执行图来抽象和优化用户的流处理作业。以下是 Flink 中作业图和执行图的详细介绍:

  1. StreamGraph(逻辑流图)

    • StreamGraph 是用户编写的应用程序代码转换成的第一个图表示形式。当用户通过 Flink 的 DataStream 或 DataSet API 编写程序时,Flink 会根据程序中定义的数据源、转换操作(例如 map、filter、join 等)和数据接收器生成一个 StreamGraph。
    • 它反映了程序的原始拓扑结构,包含了所有算子(Operator)及其之间的数据流关系,但并未包含任何关于并行度或其他执行层面的细节。
  2. JobGraph(作业图)

    • JobGraph 是 StreamGraph 经过优化后的版本,是 Flink 客户端提交给 JobManager 的数据结构。
    • 在生成 JobGraph 的过程中,Flink 会对 StreamGraph 进行一系列优化,比如合并连续的同类算子、设置并行度等。
    • JobGraph 包含了具体的并行任务(JobVertex),每个 JobVertex 对应了一个或者多个具有相同逻辑的 Operator,同时连接 JobVertex 的边则代表了数据流通道。
  3. ExecutionGraph(执行图)

    • ExecutionGraph 是 JobManager 根据 JobGraph 创建的实际执行计划,它是 Flink 执行引擎的核心数据结构。
    • ExecutionGraph 更进一步细化了 JobGraph 中的任务,并考虑了容错、调度等因素。每个 JobVertex 在 ExecutionGraph 中对应一个 ExecutionVertex,每个 ExecutionVertex 表示一个具体的并行任务实例,可能分布在不同的 TaskManager 上执行。
    • ExecutionGraph 还记录了任务间的依赖关系、任务的分配情况以及状态恢复信息等,在作业执行期间用于资源分配、故障恢复和进度协调。
  4. PhysicalGraph (物理执行图)

    • 物理执行图是指在实际部署和执行过程中形成的图,也就是由具体 Task(在 TaskManager 上运行的实体)构成的网络。它是由 ExecutionGraph 进一步分解和映射到具体的物理节点(TaskManager)上的表现形式。
    • 每个 Task 由 AbstractInvokable 类的一个实例来执行,它们负责实际的数据处理工作。

总结来说,从用户编写的应用程序代码到最后物理执行的过程中,Flink 通过逐层构建和优化执行图,有效地将复杂的流处理逻辑转换为可在分布式环境中高效执行的任务网络。这一系列图的转换过程确保了 Flink 能够透明地处理分布式系统的复杂性,并实现高可用、高性能的流和批处理作业。

相关推荐
@insist12326 分钟前
信息安全工程师考点精讲:身份认证核心原理与分类体系(上篇)
大数据·网络·分类·信息安全工程师·软件水平考试
天辛大师30 分钟前
AI助力旅游扩大化,五一旅游公园通游年票普惠研究
大数据·启发式算法·旅游
WordPress学习笔记1 小时前
镌刻中式美学的高端WordPress主题
大数据·人工智能·wordpress
数智化精益手记局2 小时前
拆解物料管理erp系统的核心功能,看物料管理erp系统如何解决库存积压与缺料难题
大数据·网络·人工智能·安全·信息可视化·精益工程
Elastic 中国社区官方博客4 小时前
使用 Observability Migration Platform 将 Datadog 和 Grafana 的仪表板与告警迁移到 Kibana
大数据·elasticsearch·搜索引擎·信息可视化·全文检索·grafana·datalog
jkyy20144 小时前
AI运动数字化:以技术重塑场景,健康有益赋能全域运动健康管理
大数据·人工智能·健康医疗
金融小师妹4 小时前
4月30日多因子共振节点:鲍威尔“收官效应”与权力结构重塑的预期重构
大数据·人工智能·重构·逻辑回归
2601_949925184 小时前
AI Agent如何重构跨境物流的决策?
大数据·人工智能·重构·ai agent·geo优化·物流科技
xiaoduo AI5 小时前
客服机器人问题解决率怎么统计?Agent系统自动判断是否解决,比人工回访准?
大数据·人工智能·机器人
小五兄弟6 小时前
YouTube 肖像检测扩展背后:短剧出海版权保护的技术实现与实战策略
大数据·人工智能