摘要:
一、JobManager三大组件功能简介 JobManager是Flink系统master节点的逻辑称呼,不同的部署模式有不同的实现类,对于Flink On Yarn下Application模式,其实现类是YarnApplicationClusterEntryPoint。JobManager由三个核 阅读全文
摘要:
一、Flink On Yarn三种客户端作业提交模式 1、方式一、Per-Job 模式 作业提交命令行方式:./bin/flink run -t yarn-per-job -d -ynm FlinkAppName -Dyarn.application.name=FlinkRetention -c c 阅读全文
摘要:
一、ExecutionGraph介绍介绍 ExecutionGraph是调度Flink作业执行的核心数据结构,包含了作业中所有并行执行的Task信息、Task之间的关联关系、数据流转关系。相比于StreamGraph、JobGraph,ExecutionGraph加入了并行度的概念,成为真正可调度的 阅读全文
摘要:
一、JobGraph介绍 上一篇随笔中解析了StreamGraph的生成过程,Flink应用转换成StreamGraph后紧接着向JobGraph转换。在转换过程中1个或多个符合条件的StreamNode会生成一个JobVertex,每一个JobVertex就是JobGraph的节点。JobVert 阅读全文
摘要:
一、StreamGraph介绍 在一个Flink流式应用中每个DataStream API调用都会被转换为一个Transformation,等StreamExecutionEnvironment.execute()方法开始执行时,每个Transformation会映射为一个StreamGraph。S 阅读全文
摘要:
一、数据分区概念 对分布式计算引擎来说,数据分区的主要作用是将现环节的数据进行切分,交给下游位于不同物理节点上的Task计算。 二、Flink数据分区接口体系 1、顶层接口ChannelSelector (1).setup()方法设置下游算子的通道数量。从该接口中可以看到,算子里的每一个分区器都知道 阅读全文
摘要:
一、时间类型解析 1、处理时间(Processing Time):处理时间是指数据被计算引擎处理的时间,以各个计算节点的本地时间为准。 2、事件事件(Event Time):事件时间是指数据发生的时间,通常产生于数据采集设备中,与Flink计算引擎本地时间无关。因受网络延迟、数据乱序、背压等影响,事 阅读全文
摘要:
一、数据流元素前置介绍 数据流元素在Flink中叫做StreamElement,主要有4种实现类。在执行层面上这4种数据流元素都被序列化成二进制混合数据流,在算子中将混合数据流中的数据流元素反序列化出来,根据其类型分别进行处理。4种实现类如下: 1、数据记录StreamRecord,代表数据流中的业 阅读全文
摘要:
一、DataStream介绍 1、DataStream是一个面向Flink应用开发人员的逻辑概念,它提供了map()、filter()、flatMap()等常见的api接口。Flink应用开发人员通过自定义UDF Function逻辑来表达业务逻辑。 2、DataStream类包含2个重要的成员变量 阅读全文
摘要:
在Flink应用执行过程中会涉及三种主要的执行环境变量,分别为StreamExecutionEnvironment、Environment、RuntimeContext。它们的作用层次、作用时机、作用范围各不相同。三种环境对象的关系如下图: 下面分别介绍三种过环境对象的细节信息。 一、StreamE 阅读全文