首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

当并行度max大于1时,Flink 1.10.1的行为不同

当并行度max大于1时,Flink 1.10.1的行为会发生变化。在Flink 1.10.1之前的版本中,当并行度max大于1时,Flink会将数据流切分为多个子任务,并行处理这些子任务。每个子任务都会独立地处理输入数据,并生成相应的输出结果。这种方式可以提高处理速度和吞吐量,特别适用于大规模数据处理和分布式计算场景。

然而,在Flink 1.10.1中,当并行度max大于1时,Flink引入了新的任务调度器,称为"Slot Sharing"。Slot Sharing的目标是提高资源利用率和任务调度的灵活性。具体而言,Slot Sharing允许不同任务共享同一个物理资源(例如CPU核心),从而减少资源的浪费。这意味着多个任务可以在同一个物理资源上并行执行,而不是每个任务都分配独立的资源。

通过引入Slot Sharing,Flink 1.10.1在处理并行度max大于1的情况下,可以更好地平衡任务的负载,并提高整体的性能和效率。同时,Slot Sharing还提供了更灵活的任务调度策略,可以根据实际情况动态地调整任务的分配和执行。

总结起来,当并行度max大于1时,Flink 1.10.1的行为不同于之前的版本,引入了Slot Sharing机制,可以提高资源利用率、任务调度灵活性和整体性能。对于具体的应用场景和需求,可以根据实际情况选择合适的并行度设置和任务调度策略。

腾讯云相关产品和产品介绍链接地址:

  • 腾讯云Flink产品介绍:https://cloud.tencent.com/product/flink
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Flink资源调优

,默认1gb 总进程内存*fraction,如果小于配置min或者大于配置max大小,则使用min/max框架内存Flink框架,即TaskManager本身占用内存,不计入Slot资源中。...Flink内存*fraction,如果小于配置min或者大于配置max大小,则使用min/max托管内存用于RocksDB 状态后端本地内存和批排序、hash、缓冲中间结果。...算子级别 我们在编写Flink项目时,可能对于不同Operator设置不同并行,例如为了实现读取Kafka最高效 读取需要参考Kafkapartition数量对并行进行设置,在Sink...时需要对于Sink介质设置不同并行 。...在实际使用中,我们需要设置合理并行来保证数据高效处理,在一般情况下例如source,Sink等可能会需要不同并行来保证数据快速读取与写入负载等。

37430
  • Flink命令行 - 1.10

    内容 在Flink1.10.1集群上进行实操 Flink命令行 Command-Line Interface Scala Shell 2 Command-Line Interface Flink命令行接口主要用来运行达成...jar包Flink应用程序,具体功能如下: 提交Flink应用 取消运行Flink应用 获取Flink应用信息 查看Flink集群上应用(包含运行中和等待应用) 触发或释放savepoint...Flink命令行详细解释 flink run (这里略过了部分python参数) -c,--class Flink应用程序入口 -C,--classpath 指定所有节点都可以访问到...比如删除了代码中部分operator -p,--parallelism 执行并行 -s,--fromSavepoint 从savepoint...flink stop:停止一个正在运行应用 -d,--drain 在获取savepoint,停止pipeline之前发送MAX_WATERMARK -p,--savepointPath <savepointPath

    2.7K30

    【推荐系统算法实战】Flink 架构及其工作原理

    TM提供一定数量slots来控制并行任务数。 ? image 上图A和C是source function,E是sink function,小数字表示并行。 ?...一个TM挂掉而RM又无法找到空闲资源时,就只能暂时降低并行,直到有空闲资源重启TM。 JM挂掉就靠ZK来重新选举,和找到JM存储到远程storage元数据、JobGraph。...它必须是递增(防止倒退),有一个timestamp t(下图5),暗示所有接下来数据都会大于这个值。后来,小于这个值,就被视为迟来数据,Flink有其他机制处理。 ?...下面是PF行为。 ? image 收到WM大于所有目前拥有的WM,就会把event-time clock更新为所有WM中最小那个,并广播这个最小WM。...Scaling Stateful Operators Flink会根据input rate调整并发

    1.7K00

    万字长文深度解析WordCount,入门Flink,看这一篇就够了!

    并行与槽位数目 图 3中提到了并行,在WordCount例子中,除去Sink算子并行为1外,其他算子并行均为2,也就是说在并行为2情况下,每个算子只能拆分为2个Subtask。...整个作业将被切分为多个实例,每个实例处理整个作业输入数据一部分。如果输入数据过大,增大并行可以增加更多实例,加快数据处理速度。可见,并行Flink对任务并行切分一种描述。...图 17 session gap示意图 我们继续以用户在手机淘宝上行为为例,现在有3个用户,每个用户产生了不同行为,果两个行为数据时间戳小于session gap,则被划归到同一个窗口中,图 17...中user2window4,如两个行为数据时间戳大于了session gap,则被划归到两个不同窗口中,user2window1和window2之间时间间隔大于最小session gap,数据被划归为了两个窗口...当我们想要手动处理之前已经处理过数据,就可以使用Savepoint,因此Savepoint经常被用来调试程序: 我们可以给同一份作业设置不同并行,来找到最佳并行设置 我们想测试一个新功能或修复一个已知

    1.7K30

    FlinkWatermark机制

    触发策略可能类似于“窗口中元素数量大于4”时,或“水位线通过窗口结束时”。 Evictor:它可以在 触发器触发后 & 应用函数之前和/或之后 从窗口中删除元素。...当此时间段到期时,当前会话关闭,后续元素被分配到新会话窗口。 0x04 Flink时间概念 Flink在流处理程序支持不同时间概念。...,Watermarks为max{8}-3.5=8-3.5 = 4.5 < 10,不会触发计算 B到达时候,Watermarks为max(12.5,8)-3.5=12.5-3.5 = 9 < 10,...不会触发计算 C到达时候,Watermarks为max(12.5,8,9)-3.5=12.5-3.5 = 9 < 10,不会触发计算 D到达时候,Watermarks为max(13.5,12.5,8,9...assignTimestampsAndWatermarks 可以理解为是一个算子转换操作,等同于map/window一样理解,可以为其设置并行、名称,也是一个transformation/operator

    5.5K54

    新一代大数据引擎Flink厉害在哪?(附实现原理细节)

    如下图所示,在Flink中可以对每个算子单独指定并行(parallelism),也可以统一指定Flink并行,优先级是算子并行值高于统一并行值。...还有一点需要注意是,Flink中执行作业还必须要有最大并行,可以用户指定,否则Flink会根据并行计算出一个默认值。关于最大并行作用,后面介绍Key Group时会详细说明。...SlotSharing除了提高了资源利用率,还简化了并行和Slot之间关系:一个Job运行需要最少Slot个数就是其中并行最高那个Task并行(ps:并行最高和作业最大并行没有任何关系哈...Flink Checkpoint是Flink自身系统行为,用户无法对其进行交互,用户可以在程序启动之前,设置好实时程序Checkpoint相关参数,程序启动之后,剩下就全交给Flink自行管理。...需要将不同类型数据进行分别处理,比如写入到不同数据表或者join不同其他流时,这个时候使用旁路流就比较合适。

    1.4K40

    Flink Transformation

    ("key"); // 滚动计算指定key最大值 keyedStream.max(0); keyedStream.max("key"); // 滚动计算指定key最小值,并返回其对应元素 keyedStream.minBy...ReScale 这个单词具有重新缩放意义,其对应操作也是如此,具体如下:如果上游 operation 并行为 2,而下游 operation 并行为 6,则其中 1 个上游 operation...反之亦然,如果上游 operation 并行为 6,而下游 operation 并行为 2,则其中 3 个上游 operation 会将元素分发到 1 个下游 operation,另 3 个上游...但是 Flink 也允许用户自己来控制这些行为,这就是任务链和资源组 API: 4.1 startNewChain startNewChain 用于基于当前 operation 开启一个新任务链。...,每个操作 (operation) 子任务 (sub task) 都需要获取 slot 来执行计算,但每个操作所需要资源大小都是不相同,为了更好地利用资源,Flink 允许不同操作子任务被部署到同一

    26120

    Flink1.10任务提交流程分析(二)

    Flink1.10任务提交流程分析(一)中分析了从flink run开始到任务提交到集群前流程分析,对于不同提交模式Flink中使用不同PipelineExecutor,本篇基于yarn-per-job...(注:基于1.10.1分析) YarnJobClusterExecutor 接着上篇分析,任务最终提交是交给PipelineExecutor来execute,PipelineExecutor选择是根据不同提交模式来决定即...configAccessor = ExecutionConfigAccessor.fromConfiguration(configuration); //包含了提交任务所需资源描述:内存大小、并行...,对于分配模式建议详读一下官网Flink1.10内存管理机制便于更好理解。...、通过-yt指定文件也在里面 addLibFoldersToShipFiles(systemShipFiles); //将flink_home/plugins 下文件添加到shipOnlyFiles

    64630

    全网最全系列 | Flink原理+知识点总结(4万字、41知识点,66张图)

    所以Spark 计算中Task数量是可以通过并行推算出来。为什么?因为Flink并行作用和Spark中并行作用一样。最后都可以表现为任务并行执行。...虽然Spark中并行Flink并行原理,作用差不多,但是由于模型选择问题,所以使用上依然有些细微区别: Spark并行设置后需要调用特殊算子(repartition)或特殊操作(...(); env.setParallelism(2); //设置全局并行 但是需要注意,某些数据源数据采集是无法改变并行,如Socket并行只能是1,即使设置了也无效 如果Flink一个算子并行为...一个程序中,不同算子可能具有不同并行。...类似于spark中宽依赖 四、Task与SubTask 算子一个并行子任务,叫做subtask Task是由 不同算子 subtask 根据一定规则(满足 One to One关系,并且并行相同

    3.8K33

    Flink大状态与Checkpint调优

    检查点最终经常花费比基本间隔更长时间(例如,因为状态增长大于计划,或者存储检查点存储暂时很慢),系统会不断地获取检查点(一旦完成,新检查点就会立即启动) ....对于 Flink 中状态较大应用程序,这通常会将过多资源绑定到检查点中。 手动触发保存点时,它可能与正在进行检查点同时进行。...下游并行规划需要考虑到窗口发出多少以及需要以多快速度处理这种峰值。 重要:为了允许以后添加资源,请确保将数据流程序最大并行设置为合理数字。...最大并行定义了在重新缩放程序时(通过保存点)可以设置程序并行高度。 Flink 内部簿记以 max-parallelism-many 键组粒度跟踪并行状态。...Flink 设计力求使最大并行具有非常高值变得高效,即使以低并行执行程序也是如此。 压缩 Flink 为所有检查点和保存点提供可选压缩(默认:关闭)。

    1.3K32

    学习Flink,看这篇就够了

    如下图所示,在Flink中可以对每个算子单独指定并行(parallelism),也可以统一指定Flink并行,优先级是算子并行值高于统一并行值。...还有一点需要注意是,Flink中执行作业还必须要有最大并行,可以用户指定,否则Flink会根据并行计算出一个默认值。关于最大并行作用,后面介绍Key Group时会详细说明。  ...SlotSharing除了提高了资源利用率,还简化了并行和Slot之间关系:一个Job运行需要最少Slot个数就是其中并行最高那个Task并行(ps:并行最高和作业最大并行没有任何关系哈...Flink Checkpoint 是 Flink 自身系统行为,用户无法对其进行交互,用户可以在程序启动之前,设置好实时程序 Checkpoint 相关参数,程序启动之后,剩下就全交给 Flink...需要将不同类型数据进行分别处理,比如 写入到不同数据表或者join 不同其他流时,这个时候使用旁路流就比较合适。

    2.7K42

    任务运维和数据指标相关使用

    建议:如果现有topic已经存在,并且是多个分区,结果表并行设置partition数一样。 分析: 由于Flink写Kafka默认采用是FixedPartitioner。...如果并行比partition大,则数据都会发送到partition中,但是如果并行比partition小,则有部分分区是没有数据。...source端,如果并行小于partition,会取模方式分给并行,都会消费到数据。如果并行大于partition,则会有部分task消费不到数据。...解决方法: 在数据解析和数据落库等代码中,对catch中数据进行收集。异常数据达到一定量时,告警通知。线下离线修正结果数据。...2.DML语句有两种不同模式: dtstack模式:和之前版本是一致Flink模式:和Flink原生语法保持一致。 3.主要区别点:和维表join方式不同

    1.2K40

    聊聊flinkRichParallelSourceFunction

    ,仅仅是用接口名来表达意图,即可以被并行执行stream data source AbstractRichFunction flink-core-1.6.2-sources.jar!...parallelism;而getIndexOfThisSubtask则可以获取当前parallel subtask下标;可以根据这些信息,开发既能并行执行但各自发射数据又不重复ParallelSourceFunction...来挨个调用exec.allocateAndAssignSlotForExecution进行分配;可以发现整个并行由taskVertices来决定 Execution.deploy flink-runtime...parallelism)以及getIndexOfThisSubtask(获取当前parallel subtask下标)方法,可以方便开发既能并行执行但各自发射数据又不重复ParallelSourceFunction...进行分配,整个并行由taskVertices来决定;而taskVertices是在ExecutionJobVertex构造器里头初始化,如果jobVertex.getParallelism()大于0

    83020

    Flink 实现Locality 模式调度

    背景 在计算与存储一体化情况,spark任务在调度task时会优先将其调度在数据所在节点上或者相同rack上,这样可以减少数据在不同节点或者不同rack上移动所带来性能消耗;目前在Flink on...(注:基于Flink-1.10.1Flink on Yarn调度流程 在Flink-1.9版本以前使用调度模式是LAZY_FROM_SOURCES即以source-vertex为起始节点开始调度,...;为了保证每一个rack数据都被消费到,需要对source并行进行扩张,以前可能一个task消费所有rack数据,现在需要每一个rack上数据都有对应task去拉取数据 实现:在flink-conf.yaml...partition信息,parition分布情况是:a ->[0,1],b->[2,3],c->[4,5] 如果设置并行为:1 ,则分配规则是:task0(a)->[0,1],task1(b)->...userSourceParallelism:(1+userSourceParallelism/numRack)*numRack, 即生成并行是rack个数整数倍。

    24030
    领券