尚硅谷大数据2023
批处理
在批处理引擎中,一个物理数据流图通常被划分为多个阶段,阶段之间根据依赖关系按序执行,一个阶段只有等其依赖的所有阶段都执行结束后才能开始执行。
例如,在基于批处理引擎的Spark系统中,将每个逻辑数据流图根据给定的并行度转换为物理数据流图后,系统会根据数据交换将该物理数据流图划分为多个阶段按序执行。如图3所示,因为在按键值分组顶点处发生数据交换,所以整个物理数据流图在此处被切分,形成阶段0和阶段1两个阶段。其中,阶段1中的数据处理依赖于阶段0处理后的中间结果,即2个阶段的执行存在先后顺序,阶段1只有在阶段0的处理全部完成后才能开始执行。在阶段0中,系统启动3个线程分别处理相互独立的3个分区中的数据,并将得到的中间结果存储在3个线程各自的本地磁盘上。等到阶段0中的3个线程都完成处理后,系统开始进行阶段1的处理,阶段1中启动2个线程分别负责2个分区的数据,每个线程通过网络从阶段0的中间结果处获取属于自己的数据进行后续处理。
在流计算引擎中,