Flink-任务需要申请的资源和并行度有关,和task的数量没有关系
2022/7/24 23:22:49
本文主要是介绍Flink-任务需要申请的资源和并行度有关,和task的数量没有关系,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
Flink-任务需要申请的资源和并行度有关,和task的数量没有关系
1. 非Flink的需要5个task,如下:
但是在Flink中采用共享模式
在代码中设置并行度为2
package com.wt.flink.core import org.apache.flink.streaming.api.scala._ object Demo3Parallelism { def main(args: Array[String]): Unit = { val env: StreamExecutionEnvironment = StreamExecutionEnvironment.getExecutionEnvironment val linesDS: DataStream[String] = env.socketTextStream("master", 8888) //设置并行度 env.setParallelism(2) linesDS .flatMap(_.split(",")) .map((_, 1)) .keyBy(_._1) .sum(1) .print() env.execute() } }
在UI界面中为:
但是只会占两个槽
当输入数据时
代码中的并行度优先级大于在UI界面中设置的
这里我们设置5个并行度
提交之后,还是不变
2. 这里我们重新修改代码,打包提交,代码如下:
package com.wt.flink.core import org.apache.flink.streaming.api.scala._ object Demo3Parallelism { def main(args: Array[String]): Unit = { val env: StreamExecutionEnvironment = StreamExecutionEnvironment.getExecutionEnvironment /** * 设置flink任务的并行度 * 1、在代码中同意设置并行度 * 2、可以在体检任务的时候设置并行度 代码中设置并行度的优先级高于提交热任务是设置的并行度 * 2、每一个算子可以单独设置并行度,keyBy除外 -- 优先级时最高的 * * * flink 任务需要申请的资源和并行度有关,和task的数量没有关系 * */ //设置并行度 //env.setParallelism(2) val linesDS: DataStream[String] = env .socketTextStream("master", 8888) .setParallelism(1) .name("读取socket中的数据") //每一个节点可以设置一个名字 .uid("1") //为一个标识 .shuffle //将前面拆分成两部分,并行度一样时也会拆分 val wordsDS: DataStream[String] = linesDS .flatMap(_.split(",")) .setParallelism(2) .name("将一行数据转换成多行") .uid("2") val kvDS: DataStream[(String, Int)] = wordsDS .map((_, 1)) .setParallelism(3) .name("转换成kv格式") .uid("3") val keyByDs: KeyedStream[(String, Int), String] = kvDS .keyBy(_._1) val countDS: DataStream[(String, Int)] = keyByDs .sum(1) .setParallelism(4) .name("分组聚合") .uid("4") countDS.print() .setParallelism(1) .name("打印结果") .uid("5") env.execute() } }
输入数据,查看结果
这篇关于Flink-任务需要申请的资源和并行度有关,和task的数量没有关系的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-13TiDB + ES:转转业财系统亿级数据存储优化实践
- 2024-05-09“2024鸿蒙零基础快速实战-仿抖音App开发(ArkTS版)”实战课程已上线
- 2024-05-09聊聊如何通过arthas-tunnel-server来远程管理所有需要arthas监控的应用
- 2024-05-09log4j2这么配就对了
- 2024-05-09nginx修改Content-Type
- 2024-05-09Redis多数据源,看这篇就够了
- 2024-05-09Google Chrome驱动程序 124.0.6367.62(正式版本)去哪下载?
- 2024-05-09有没有大佬知道这种数据应该怎么抓取呀?
- 2024-05-09这种运行结果里的10.100000001,怎么能最快改成10.1?
- 2024-05-09企业src漏洞挖掘-有意思的命令执行