Spark物理执行计划生成方法
Spark具体采用3个步骤来生成物理执行计划,首先根据action操作顺序将应用划分为作业(job),然后根据每个job的逻辑处理流程中的ShuffleDependency依赖关系,将job划分为执行阶段(stage)。最后在每个stage中,根据最后生成的RDD的分区个数生成多个计算任务(task)。
Spark具体采用3个步骤来生成物理执行计划,首先根据action操作顺序将应用划分为作业(job),然后根据每个job的逻辑处理流程中的ShuffleDependency依赖关系,将job划分为执行阶段(stage)。最后在每个stage中,根据最后生成的RDD的分区个数生成多个计算任务(task)。
OpenTelemetry是CNCF孵化的开源观测框架,用于创建和管理遥测数据(telemetry),比如metrics, tracing, logs。这一项目的核心目标是避免依赖于vendor,从而可以更好地集成和拓展。
Spark应用程序需要先转化为逻辑处理流程,逻辑处理流程主要包括:
数据操作分为两种,transformation操作并不会触发job的实际执行,action操作创建job并立即执行。类似于java中的stream,采用懒加载的方式。
RDD (Resilient Distributed DataSet)是spark对计算过程中输入输出数据以及中间数据的抽象,表示不可变、分区的集合数据,可以被并行处理。

grpc的流程可以大致分成两个阶段,分别为grpc连接阶段和grpc交互阶段,如图所示(此图来自后面的参考文献)。
在RPC连接阶段,client和server之间建立起TCP连接,grpc底层依赖于HTTP2,因此client和server还需要协调frame的相关设置,例如frame的大小,滑动窗口的大小等。