并行度

作者: yayooo | 来源:发表于2019-08-23 00:01 被阅读0次

Flink程序的执行具有并行、分布式的特性。
在执行过程中,一个流(stream)包含一个或多个分区(stream partition),而每一个算子(operator)可以包含一个或多个子任务(operator subtask),这些子任务在不同的线程、不同的物理机或不同的容器中彼此互不依赖地执行。

一个特定算子的子任务(subtask)的个数被称之为其并行度(parallelism)。一般情况下,一个流程序的并行度,可以认为就是其所有算子中最大的并行度。一个程序中,不同的算子可能具有不同的并行度。

  • 一个特定算子的子任务(subTask)的个数被称之为它的并行度(parallelism), 一般情况下,一个stream的并行度可以认为是其所有算子中最大的并行度。

上图中,A的并行度为4,需要4个slot。BCDE以此类推。

  • 一个程序中,不同的算子可能具有不同的并行度
    算子之间传输数据的形式可以是 one-to-one (forwarding) 的模式也可以是redistributing 的模式,具体是哪一种形式,取决于算子的种类。

  • One-to-one:stream维护者分区以及元素的顺序(比如source和map之间)意味着map算子的子任务看到的元素的个数以及顺序跟source算子的子任务生产的元素的个数、顺序相同。map、filter、flatMap等算子都是one-to-one的对应关系。

  • Redistributing: stream的分区会发生改变。每一个算子的子任务依据所选择的transformation发送数据到不同的目标任务。例如:keyBy基于hashCode重分区、而broadcast和rebalance会随机重新分区,这些算子都会引起redistribute过程,而redistribute过程就类似于Spark中的shuffle过程。

相关文章

  • flink实验结论

    SpamFilter 单节点:并行度111111 多节点:并行度112211 多节点:并行度112222

  • 并行度

    Flink程序的执行具有并行、分布式的特性。在执行过程中,一个流(stream)包含一个或多个分区(stream ...

  • 《Spark快速大数据分析》读书笔记——并行度

    并行度一个RDD针对多个数据分区会并行运行同样的计算。并行度是并行执行的任务数量,而不是切分任务的数量。 并行度推...

  • MapReduce中map并行度优化及源码分析

    MapReduce中map并行度优化及源码分析 mapTask并行度的决定机制 一个job的map阶段并行度由客户...

  • Hadoop之Mapreduce核心运行机制

    目录 概述 MapReduce 套路图 MapReduce 程序的运行 mapTask的并行度MapTask并行度...

  • MapReduce之ReduceTask工作机制

    1.设置ReduceTask并行度(个数) reducetask的并行度同样影响整个job的执行并发度和执行效率,...

  • MapReduce(三):核心框架原理

    InputFormat数据输入 切片与MapTask并行度决定机制 1)问题引出 2)MapTask并行度决定机制...

  • Spark 并行度

    大数据学习交流微信群 Spark 并行度是指一个stage下并行执行的task数量,由于一个task线程只能执行一...

  • flink 并行度

    Flink 作为一套分布式执行框架,计算资源可以不断的扩展。不同的任务类型,可以控制需要的计算资源。在flink整...

  • 组提交与并行复制

    基于组提交的并行复制 如何表示并行度 为了表示主库并行度,在binlog row event增加了如下的标识。 即...

网友评论

      本文标题:并行度

      本文链接:https://www.haomeiwen.com/subject/hzznsctx.html