1、概念

Task(任务):Task是一个阶段多个功能相同的subTask 的集合,类似于Spark中的TaskSet。

subTask(子任务):subTask是Flink中任务最小执行单元,是一个Java类的实例,这个Java类中有属性和方法,完成具体的计算逻辑。

Operator Chains(算子链):没有shuffle的多个算子合并在一个subTask中,类似于Spark 中的Pipeline。

Slot(插槽):Flink 中计算资源进行隔离的单元,一个Slot中可以运行多个subTask,但是这些subTask必须是来自同一个application的不同阶段的subTask。

State(状态):Flink在运行过程中计算的中间结果。

2、DATAFLOWS数据流介绍

Flink程序的基本构建是 流(stream)和转换(Transform)

从概念上讲,流是对当前数据流向的记录(流也可能是永无止境的),而 转换是将一个或多个流作为输入,根据需要求转换成我们要的格式的流的过程。

2.2.1、如何划分TASK的依据

1、并行度发生变化时

2、keyBy()/window()/apply() 等发生Rebalance重新分配

3、调用startNewChain()方法,开启一个新的算子链

4、调用diableChaining()方法,即:告诉当前算子操作不使用算子链操作。

3、OPERATOR CHAINS介绍

Flink将多个subTask 合并成一个Task(任务),这个过程叫做 Operator Chains,每个任务由一个线程执行。使用Operator Chains(算子链)可以将多个分开的subTask拼接成

一个任务。

Operator Chains 是一个有用的优化,它减少了线程到线程的切换和缓冲的开销,并在降低延迟的同时提高了总体吞吐量。

理解Flink中的Task和SUBTASK的更多相关文章

  1. 深入理解gradle中的task

    目录 简介 定义task tasks 集合类 Task 之间的依赖 定义task之间的顺序 给task一些描述 task的条件执行 task rule Finalizer tasks 总结 深入理解g ...

  2. Flink中案例学习--State与CheckPoint理解

    1.State概念理解 在Flink中,按照基本类型,对State做了以下两类的划分:Keyed State, Operator State. Keyed State:和Key有关的状态类型,它只能被 ...

  3. storm源码之理解Storm中Worker、Executor、Task关系 + 并发度详解

    本文导读: 1 Worker.Executor.task详解 2 配置拓扑的并发度 3 拓扑示例 4 动态配置拓扑并发度 Worker.Executor.Task详解: Storm在集群上运行一个To ...

  4. 深入理解Flink核心技术及原理

    前言 Apache Flink(下简称Flink)项目是大数据处理领域最近冉冉升起的一颗新星,其不同于其他大数据项目的诸多特性吸引了越来越多人的关注.本文将深入分析Flink的一些关键技术与特性,希望 ...

  5. Flink中的多source+event watermark测试

    这次需要做一个监控项目,全网日志的指标计算,上线的话,计算量应该是百亿/天 单个source对应的sql如下 最原始的sql select pro,throwable,level,ip,`count` ...

  6. Flink 中极其重要的 Time 与 Window 详细解析(深度好文,建议收藏)

    前言 Flink 是流式的.实时的 计算引擎 上面一句话就有两个概念,一个是流式,一个是实时. 流式:就是数据源源不断的流进来,也就是数据没有边界,但是我们计算的时候必须在一个有边界的范围内进行,所以 ...

  7. Linux中的task,process, thread 简介

    本文的主要目的是介绍在Linux内核中,task,process, thread这3个名字之间的区别和联系.并且和WINDOWS中的相应观念进行比较.如果你已经很清楚了,那么就不用往下看了. LINU ...

  8. 深入理解Python中协程的应用机制: 使用纯Python来实现一个操作系统吧!!

    本文参考:http://www.dabeaz.com/coroutines/   作者:David Beazley 缘起: 本人最近在学习python的协程.偶然发现了David Beazley的co ...

  9. 深入理解koa中的co源码

    阅读目录 一:理解Generator 二:理解js函数柯里化 三:理解Thunk函数 四:理解CO源码 回到顶部 一:理解Generator 在看co源码之前,我们先来理解下Generator函数.G ...

随机推荐

  1. springboot-1-入门

    springboot-1-入门 1.springboot简介,背景 简化Spring应用开发的一个框架: 整个Spring技术栈的一个大整合: J2EE开发的一站式解决方案: 2.极简hellowor ...

  2. 用Nextcloud在树莓派上布置你的个人网盘“NAS”

    用Nextcloud在树莓派上布置你的个人网盘"NAS" 这次用的是目前最新的 Raspbian Stretch 系统,基于 Debian 9. 软件程序是 Nextcloud 1 ...

  3. C++第四十八篇 -- 字符串分离方法

    举例:Test_Bluetooth.exe -param_split Test_Bluetooth.cpp #include "pch.h" #include <iostre ...

  4. 第十篇 -- Windows 下免费的GIF录制工具

    网址:https://blog.csdn.net/u013019701/article/details/80550411 本人用的第二个,亲测好用.

  5. 犀牛Rhino 7.0中文版安装破解教程

    犀牛Rhino 7.0中文版是一款专业的.功能强大的三维建模软件,利用它可以创建.编辑.分析.提供.渲染.动画与转换NURBS线条.曲面.实体与多边形网格:它能轻易整合3DS MAX 与Softima ...

  6. CExec.jsp中请求过程

  7. Oracle 对 sql 的处理过程

    当你发出一条 sql 语句交付 Oracle,在执行和获取结果前,Oracle 对此 sql 将进行几个步骤 的处理过程: 1.语法检查(syntax check)   检查此 sql 的拼写是否语法 ...

  8. 用Ubuntu的命令行来远程访问Jupyter Notebook

    远程访问Jupyter Notebook 相关配置:Ubuntu 16.04服务器,本地Win10,使用了Xshell,Xftp工具. 相关配置主要分为三步: 服务器上的Jupyter配置 本地Xsh ...

  9. .NET Conf 2020大会将于2020年11月10日--- 11月12日举行 (UTC)时区

    .NET Conf 2020大会将于2020年11月10日--- 11月12日举行 (UTC)时区 开始时间 2020年11月10日 08:00 (PT) | 16:00 (UTC)| 24:00(北 ...

  10. JS知识梳理--图表