Flink执行流程

2023-11-09

1、flink关键字对比spark

flink spark
operator RDD
operator chain stage
data flow DAG
one to one 窄依赖
redistribute 宽依赖
subtask task
task taskset
partition partition
Parallelism Parallelism

2、任务调度流程

  • client向HDFS提交flink的jar包和相关配置
  • 然后向resourceManager提交任务,resourceManager分配Container资源并通知相应的NodeManager启动ApplicationMaster
  • ApplicationMaster启动后加载flink的jar包和相关配置,同时启动jobManager
  • ApplicationMaster向resourceManager申请资源启动taskManager
  • resourceManager为taskManager分配资源后,由ApplicationMaster在对应的NodeManager上启动taskManager
  • taskManager启动完成后,加载flink的jar包和相关配置
  • taskManager向jobManager发送心跳包汇报运行状况,等待jobManager分配运行任务

3、Flink的执行图

  • Flink会根据代码执行流程生成DAG数据流图,生成顺序为:streamGraph、jobGraph、executionGraph、物理执行图
    • 1、streamGraph:程序原始执行流程图,也就是算子的依赖关系,在client上生成
    • 2、jobGraph:对程序执行流程图进行一定程度的优化,如将one to one的operator生成operator chain,在client上生成
    • 3、executionGraph:对程序中设置的并行度和提交的资源进行并行规划,在jobManager上生成
    • 4、物理执行图:将executionGraph的并行计划落实到taskManager上,将subTask落实到具体的taskSlot上

4、Flink运行的组件

在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Flink执行流程 的相关文章

随机推荐

  • Frida—HOOK 学习笔记2

    Android部分 基础知识 1 安卓分层 简单提一下安卓分层 这个点知道了更好 不知道也无所谓 毕竟我们不是开发 只是为了避免下述情况 我要学习so文件HOOK 一波百度 HOOK so层 之后 出现了一个 native 点进去一看 其内
  • Redis学习笔记(七):底层数据结构和对象

    第一章 数据结构与对象 一 简单动态字符串 SDS 在Redis中默认字符串的表示使用了简单动态字符串 Simple Dynamic String 而没有使用C语言中的传统字符串 字面量 string literal 字面量只用来表示一些无
  • 【RabbitMQ教程】- 实现延时队列

    目录 RabbitMQ实现延时队列 Maven依赖 代码实现 1 插件方式 RabbitMQ实现延时队列 RabbitMQ实现延时队列有两种方式 1 死信队列 2 下载插件 Maven依赖 Maven依赖
  • 力扣(LeetCode)每日一题 1921. 消灭怪物的最大数量

    只需要三个步骤 1 初始化 2 排序 3 遍历 class Solution public int eliminateMaximum int dist int speed 初始化 每个怪物到达城市所需要的回合数目 int times new
  • QEMU-运行一个字符驱动(3)

    上面是我的微信和QQ群 欢迎新朋友的加入 上代码 chardriver c include
  • Web 组件代码示例

    在本文中 我提供了对 Web 组件是什么以及如何使用它们的基本理解 使用现实生活中的示例 我将展示 Web 组件如何帮助使应用程序更可预测和更易于维护 此外 我分享了有关如何通过将 HTML CSS JS 代码隔离为 等待它 隔离的组件以供
  • 二叉查找树 数组实现 ArrayBinarySearchTree

    数组实现的二叉查找树 适用查找操作频繁 插入 删除操作较少的情况 代码 using System namespace DataStructure 数组实现的二叉查找树 输入一个数组 获得一颗二叉查找树 找parent 和 child ind
  • 华为OD机试 - 文件目录大小(Java & JS & Python)

    题目描述 一个文件目录的数据格式为 目录id 本目录中文件大小 子目录id列表 其中目录id全局唯一 取值范围 1 200 本目录中文件大小范围 1 1000 子目录id列表个数 0 10 例如 1 20 2 3 表示目录1中文件总大小是2
  • c++ 实现信号和槽机制

    主要通过 c 实现类型QT 信号和槽的问题 设计思路 1 利于模板函数和模板类的 通用性 2 BInd的时候 讲槽函数指针保存 触发时调用 代码如下 include
  • 用python函数写斐波那契数列的函数_python—函数进阶-斐波那契数列

    上次说到生成器的调用next 这样很不方便 需要手动调 我们一般是循环着调 while for都可以 a i for i in range 5 for i in a print i 0 1 2 3 4 执行结果 和手动调的区别是没了的话就会
  • [高级数据结构C++] 线段树(区间和的查询与修改)

    算法竞赛 file author jUicE g2R qq 3406291309 彬 bin 必应 一个某双流一大学通信与信息专业大二在读 brief 一直在算法竞赛学习的路上 copyright 2023 9 COPYRIGHT 原创技术
  • vue-quill-editor 富文本编辑器上传图片自base64改为上传到服务器

    就是要一个富文本编辑器 然后有图片上传功能 因为vue quill editor是将图片转为base64编码 所以当图片比较大时 提交后台时参数过长 导致提交失败 vue quill editor引入过程略 我其它文章里面有 废话不多说 上
  • 实战搞定gRPC之移植篇

    一 交叉编译protobuf 1 配置交叉编译器 export PATH PATH opt EC20 crosstool ql ol crosstool sysroots x86 64 oesdk linux usr bin opt EC2
  • C++安全编码-第一章

    1 优先C 特性而不是C特性 std string std string view char std vector std array 原生数组 namespace static 引用 智能指针 普通指针 iostream printf s
  • python+Selenium+无界面启动

    Selenium无界面启动 方法一 selenium version 3 141 0 谷歌浏览器 version 87 0 4280 88 正式版本 64 位 from selenium import webdriver opt webdr
  • 嵌入式C语言(一)

    嵌入式 C语言 一 一 Linux基础操作及C语言简单语法 万丈高楼平地起 学习还得靠自己 1 C语言的本质 C语言的本质就是操作内存 2 关键字和标识符 关键字 关键字是指编译器中已经定义好的特殊单词 注意区分大小写 标识符 标识符是用户
  • 6 个高影响力的大型语言模型应用,探索当今可行的现实且高影响力的LLM

    1 Research Assistant 研究助理 如果您曾经写过文章 论文或博客 您就会知道工作的很大一部分在于筛选大量出版物 确定要阅读并理解的相关研究可能是一项艰巨的任务 技术出版物的市场是巨大的 每个月提交到arXiv 的论文数量几
  • leetcode

    文章目录 买卖股票的最佳时机 买卖股票的最佳时机 II 买卖股票的最佳时机 III 买卖股票的最佳时机 IV 最佳买卖股票时机含冷冻期 买卖股票的最佳时机含手续费 买卖股票的最佳时机 前i天的最大收益 max 前i 1天的最大收益 第i天的
  • okhttp3源码解析(3)-拦截器 II

    okhttp3源码解析 3 拦截器 II 前言 上篇博文从RealInterceptorChain开始 讲解了RetryAndFollowUpInterceptor和BridgeInterceptor两个拦截器 后面还有三个系统拦截器 其实
  • Flink执行流程

    1 flink关键字对比spark flink spark operator RDD operator chain stage data flow DAG one to one 窄依赖 redistribute 宽依赖 subtask ta