uu快3充值_uu快3回血_新平台

Flink1.7.2 并行计算源码分析

时间:2019-12-30 10:44:20 出处:uu快3充值_uu快3回血_新平台

将任务增加到任务槽位中

WindowOperator.processElement,给每有有好多个WordWithCount(1,1) 有有好多个 的元素分配window,也一些确认每有有好多个元素属于哪有有好多个窗口,可能不里能 对同有有好多个窗口的相同key进行聚合操作

executionsToDeploy包括所有的(Source,Window,Sink),在这里设置的setParallelism()并行度为有好多个,也有有好多个个Window,本案例设置的为3,一些executionsToDeploy对象的数据如下

headOperator = operatorChain.getHeadOperator()为StreamSource

任务初使化

调用具体任务的run()函数去防止,这里分不同的类型

Window 调的是OneInputStreamTask.run()函数

分区实现KeyGroupRangeAssignment.assignKeyToParallelOperator(key, maxParallelism, numberOfOutputChannels);

加载并实例化任务的可调用代码(用户代码)

在所有的operators是opened事先所有的触发器调度必须被执行,一些里能 先把operator.open

给当前任务构建运行环境

构建任务情况报告管理器TaskStateManager

StreamTask.invoke()

从序列化的对象中反序列化(通过类加载),JobInformation,TaskInformation,用来构建TaskInformation,Task

end

把当前元素增加到state中保存,add函数中会对相同key进行聚合操作(reduce),对同有有好多个window中相同key进行求和一些在五种辦法 中进行的

TaskManager.submitTask 提交任务,参数为TaskDeploymentDescriptor

里边发送给Sink的数据,一些遍历五种processingTimeTimersQueue中的数据,当然,每次发送第有有好多个元素,发送后,会把最后有有好多个元素上放第有有好多个元素

指定Source中的拆分器,一些将不断产生数据的Source拆分给不同的Window做并行任务(RpcInputSplitProvider是其中的五种分配辦法 )

triggerTarget.onProcessingTime(timer);// 调用 WindowOperator.onProcessingTime(timer)防止

更新当前任务情况报告,从DEPLOYING(部署中)更新为RUNNING(运行中)

调用任务的启动程序池,该辦法 会触发调用Task.run()函数,

创建有有好多个后端情况报告,stateBackend,此时为MemoryStateBackend

构建任务Task

源码

将内部化数据从BLOB存储加载回对象

加载用户程序池池jar文件,给当前Task使用

可能越来越 调置时间服务,就创建SystemProcessingTimeService,它将当前防止时间指定为调用的结果(时间)

调用Execution.deploy()进行部署

构建TaskDeploymentDescriptor对象,该对象引用Task实例Execution的id,slot(槽位),就里能 选用Execution在哪个slot上运行

注册网络追踪给这当前任务

INFO日志输出:部署哪有有好多个Execution到哪一台机器上

创建文件系统流为五种任务

更新Execution情况报告,将当前Execution的情况报告由SCHEDULED更新为DEPLOYING,即由已调度情况报告更新为部署中

这里是Task的执行情况报告,前面是Executition的执行情况报告,里能 区分开来,更新任务情况报告,由CREATED(已创建)到DEPLOYING(部署中)

= {Execution@51009} "Attempt #0 (Sink: Print to Std. Out (1/1)) @ org.apache.flink.runtime.jobmaster.slotpool.SingleLogicalSlot@67b9a9d7 - [SCHEDULED]"

当前流任务对应的操作链条,此处不同的流任务对应的操作链条不一样,像source流中,用户自定义的函数链不一样,五种operatorChain一些一样,这里以WordCount为例说明

slot得到TaskManager

任务别问我它们与一些任务的关系,可能它们是第一次执行任务还是重复尝试。 所有那些必须JobManager知道。 所有任务都知道它买车人的可运行代码,任务的配置以及要使用和联 成的里边结果的ID(可能有一句话)。

每个任务由有有好多个专用程序池运行。

热门

热门标签