Task与SubTask

一个算子就是一个Task. 一个算子的并行度是几, 这个Task就有几个SubTask

对应关系:

算子=Task

并行度=SubTask

task是抽象概念,subtask是物力概念

Parallelism并行度

默认并行度--cpu核数

关键点

不同的并行度(subtask),肯定在不同的slot,但也可能在不同的taskmanager

一个流程序的并行度,可以认为就是其所有算子中算子并行度最大的并行度

数据传输模式:

One-to-one

类似于spark中的窄依赖

Redistributing

类似于spark中的宽依赖

stream(map()跟keyBy/window之间或者keyBy/window跟sink之间)

例如,keyBy()基于

hashCode重分区(类似shuffler)、

broadcast(一个流向多个)

rebalance(并行度不一致)

设置并行度

如何控制操作链(生产环境下不会用):

1. .startNewChain()
   从当前算子开启一个新链

2. .disableChaining()
   当前算子不会和任何的算子组成链

3.env.disableOperatorChaining();
   全局禁用操作链

给算子设置并行度(优先级越来越高,4最高):

1. 在配置文件中 flink.yaml    parallelism.default: 1

2. 在提交job的时候通过参数传递    -p 3

3. 通过执行环境来设置并行度    env.setParallelism(1);

4. 单独的给每个算子设置并行度

Operator Chains(任务链)-->这是flink默认的优化

相同并行度的one to one操作,Flink将这样相连的算子链接在一起形成一个task,原来的算子成为里面的一部分。 每个subtask被一个线程执行.

将算子链接成task是非常有效的优化:它能减少线程之间的切换和基于缓存区的数据交换,在减少时延的同时提升吞吐量。链接的行为可以在编程API中进行指定

ExecutionGraph(执行图)(了解即可)

由Flink程序直接映射成的数据流图是StreamGraph,也被称为逻辑流图,因为它们表示的是计算逻辑的高级视图。为了执行一个流处理程序,Flink需要将逻辑流图转换为物理数据流图(也叫执行图),详细说明程序的执行方式。

Flink 中的执行图可以分成四层:StreamGraph -> JobGraph -> ExecutionGraph -> Physical Graph。

Ø StreamGraph:

是根据用户通过 Stream API 编写的代码生成的最初的图。用来表示程序的拓扑结构

Ø JobGraph

StreamGraph经过优化后生成了 JobGraph,是提交给 JobManager 的数据结构。主要的优化为: 将多个符合条件的节点 chain 在一起作为一个节点,这样可以减少数据在节点之间流动所需要的序列化/反序列化/传输消耗。

Ø ExecutionGraph

JobManager 根据 JobGraph 生成ExecutionGraph。ExecutionGraph是JobGraph的并行化版本,是调度层最核心的数据结构。

Ø Physical Graph

JobManager 根据 ExecutionGraph 对 Job 进行调度后,在各个TaskManager 上部署 Task 后形成的“图”,并不是一个具体的数据结构。

2个并发度(Source为1个并发度)的 SocketTextStreamWordCount 四层执行图的演变过程

env.socketTextStream().flatMap(…).keyBy(0).sum(1).print();

Flink-Task、SubTask、并行度相关推荐

  1. Flink中subTask,并行度,slot你分得清吗?

    Apache Flink是一个开源的流处理框架,应用于分布式.高性能.高可用的数据流应用程序.可以处理有限数据流和无限数据,即能够处理有边界和无边界的数据流.无边界的数据流就是真正意义上的流数据,所以 ...

  2. 1.21.Flink Slot和并行度(parallelism)\Flink的并行度由什么决定的?\Flink的task是什么?\slot和parallelism

    1.21.Flink Slot和并行度(parallelism) 1.21.1.Flink的并行度由什么决定的? 1.21.2.Flink的task是什么? 1.21.3.slot和paralleli ...

  3. 第一天:什么是Flink、WordCount入门、Flink安装、并行度

    1. 初识 Flink 在当前数据量激增的时代,各种业务场景都有大量的业务数据产生,对于这些不断产的数据应该如何进行有效的处理,成为当下大多数公司所面临的问题.目前比较流行的大数据处理引擎 Apach ...

  4. Flink——Task退出流程与Failover机制

    Flink--Task退出流程与Failover机制 目录 Flink--Task退出流程与Failover机制 1 TaskExecutor端Task退出逻辑 2 JobMaster端failove ...

  5. 【Flink】flink on yarn 并行度设置高导致任务失败

    文章目录 1.概述 1.概述 flink on yarn 并行度设置高了就失败有遇到过没,400的并行度就没事,设置成600就不断失败,是需要做什么额外的配置吗,比如网络缓冲?看报错日志没找到什么相关 ...

  6. 【Flink】flink sql的并行度怎么单独设置

    1.概述 小记一下,记录flink sql的并行度怎么单独设置

  7. Flink的Parallelism并行度

    一.Flink的Parallelism并行度 Flink的Parallelism并行度 在flink-conf.yaml中通过parallelism.default配置项给所有execution nv ...

  8. Flink Task、Sub-Task、task slot和parallelism

    Task:物理图的节点.任务是工作的基本单元,由Flink的运行时执行.任务精确地封装运算符或运算符链的一个并行实例.Task是逻辑概念,一个Operator就代表一个Task(多个Operator被 ...

  9. flink sql设置并行度_《从0到1学习Flink》—— Flink parallelism 和 Slot 介绍

    前言 之所以写这个是因为前段时间自己的项目出现过这样的一个问题: Caused by: akka.pattern.AskTimeoutException: Ask timed out on [Acto ...

  10. flink sql设置并行度_Flink原理——任务调度原理

    本文主要从以下几个方面介绍Flink的任务调度原理 一.Flink运行时的组件 二.TaskManger与Slots 三.程序与数据流 四.Flink的执行图 五.Flink程序执行的并行度 六.Fl ...

最新文章

  1. 使用Xpose突破安卓App禁止截屏限制
  2. 【jQuery】手机验证码倒计时效果
  3. cisco 交换机vlan-trunk的配置详解及应用实例:
  4. [密码学基础][每个信息安全博士生应该知道的52件事][Bristol52]42蒙哥马利乘法,哪里泄漏侧信道路吗?
  5. Python 机器学习 随机森林 天气最高温度预测任务(三)
  6. Xftp5如何设置默认的文件夹
  7. 读书笔记_Effective_C++_条款二十四: 若所有参数皆需类型转换,请为此采用non-member函数...
  8. 双系统重装windows后修复UBUNTU的GRUB
  9. 实验4-1-8 求给定精度的简单交错序列部分和 (15 分)
  10. 如虎添翼VSPHERE 4/5 环境下 linux/windows 动态扩展磁盘
  11. 【精选】OCR精选10个问题 百度paddleocr
  12. 图像匹配之不变矩匹配法
  13. 单片机应用系统设计技术——串行口方式0 拓展并行输出端口 02 74LS164芯片
  14. HTML meta 标签
  15. 毕业设计开题分析:MIPS指令集硬件化设计与实现
  16. [转]让你的网页文本框增加光晕效果与提示,水印(类似QQ2011)
  17. 每月缴的个税,你知道怎么算的吗?
  18. 如何检查您附近(或任何地方)的空气质量
  19. 360n5s不打印日志 不同厂商手机系统日志抓取方法
  20. Windows 7 彻底退出历史舞台

热门文章

  1. OmniPlan-Mac上使用的项目管理软件
  2. 学习笔记(11):OmniPlan项目管理就该这样学-拆分任务
  3. 微服务设计中关于服务组合和可视化编排的思考
  4. 穷人最讨人嫌的地方其实不是穷,而是太在意面子
  5. 直播系统开发语音源码功能开发
  6. vue 独享路由守卫
  7. android开发用什么操作系统,Android是目前世界上最流行的操作系统
  8. 人人都想自学python_人人都想自学编程,为什么坚持下来的没几个?
  9. 「用户故事」竟然还可以这样写!?
  10. 图数据交互可视化分析框架InteractiveGraph v0.3版本发布