首页 > 其他分享 >Flink如何设置合理的并行度

Flink如何设置合理的并行度

时间:2025-01-06 16:30:56浏览次数:3  
标签:设置 分区 Flink 并行度 Source Sink 数据量

一个Flink程序由多个Operator组成(source、transformation和 sink)。

一个Operator由多个并行的Task(线程)来执行, 一个Operator的并行Task(线程)数目就被称为该Operator(任务)的并行度(Parallel)。即并行度就是相对于Operator来说的。

合理设置并行度可以有效提高Flink作业的性能,但并行度的设置需要根据souce、sink类别、数据量、任务复杂度、集群资源等多个因素综合考虑。下面我们也是从source、transformation和sink来考虑一些优化措施:

1. Kafka Source和Sink的并行度设置

对于Kafka,不管是作为source还是sink,我们都建议将其并行度设置为和Kafka Topic分区数一致,这样每个subtask都能处理一个分区的数据。设置并行度小于Topic分区数则有subtask会读取多个分区数据,有可能会导致数据积压;而设置大于Topic分区数,会导致有subtask不能接收到数据,一是浪费并行度资源,另一方面如果用到watermark,则导致无法产生watermark的问题,影响下游的计算。如果已经等于Kafka的分区数,消费速度仍跟不上数据生产速度,考虑下Kafka要扩大分区,同时调大并行度等于分区数。如果kafka数据量很小,则可以直接设置为1。

2. JDBC Source和Sink的并行度设置

对于JDBC作为Source,我们可以根据Source表是否有可以分区扫描的列,比如有均匀分布的整形或时间类型的字段,我们就可以指定这种字段,然后设置最大最小范围和并行扫描数来并行读取Source来加快速度,这时设置并行度和并行扫描数一致即可。对于JDBC作为Sink,则我们可以根据数据量的大小来设置并行度,可以设置不同的并行度来测试效果(默认并行度和上游operator一致)。

3. FileSystem Source和Sink的并行度配置

对于FileSystem作为Source,主要看数据量来决定。对于FileSystem作为Sink,需要看目标介质的特性以及数据量来考量(默认并行度和上游operator一致)。

4. Transformation阶段的并行度设置

一般按数据量和计算复杂度来考虑。

比如Keyby 之前的算子一般不会做太重的操作,都是比如 map、 filter、 flatmap 等处理较快的算子,并行度可以和 source 保持一致。而Keyby 之后的算子如果计算复杂,可以设置并行度为2的整数次幂。

对于数据倾斜严重的还需要重分区来改善情况。

总体来说,Source的并行度依赖于具体的实现来决定,Transformation阶段的并行度根据任务类型(IO密集型还是CPU密集型)和数据量和分布情况调整,而Sink的并行度需要考虑目标的特性然后再是数据量。但是并行度不建议设置得非常大,因为过大会导致subtask过多,每个运行时间很短,另外就是需要存储的状态数据很多。并行度的设置需要调优测试,查看各个算子的反压情况,不能一概而论。另外推荐在算子(operator)级别来设置并行度,这样子可以精确控制。

标签:设置,分区,Flink,并行度,Source,Sink,数据量
From: https://blog.csdn.net/chanyue123/article/details/144758220

相关文章

  • 在 Windows 中,配置单元文件(Registry Hive)是 Windows 操作系统注册表的核心组成部分。W
    在Windows中,配置单元文件(RegistryHive)是Windows操作系统注册表的核心组成部分。Windows注册表是一个存储系统配置和应用程序设置的数据库,而配置单元(Hive)是这些数据库的一个逻辑分区。每个Hive存储一组与系统或用户相关的数据,结构上可以视为一个分区或区域。什么是配置单......
  • 【一看就会】autoware universe中有关control部分的参数设置
    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、车辆模型1.mirror.param2.simulator_model.param3.vehicle_info.param二、控制相关参数1.pid.param.yaml2.mpc.param.yaml2.pure_pursuit.param.yaml总结前言autowareuniverse虽......
  • win10重装如何跳过微软账号直接设置本地帐户.221111
    ​在添加你的帐户界面,选择脱机帐户2.第二个页面,选择有限的体验3.第三个页面,设置自己本地的用户名4.第四个页面,设置自己本地的密码......
  • chrome浏览器调试窗口如何设置深色背景主题
    前言大家好,我是小徐啊。chrome浏览器是我们常用的浏览器,在开发Java应用的时候,是经常需要用到的。而且,开发的时候,需要经常打开浏览器的调试模式,这个界面的默认主题是白色的,其实也可以设置成深色的主题,今天,小徐就来介绍下如何设置深色主题。如何设置深色主题首先,打开浏览器,然后鼠......
  • Prometheus+Grafana监控flink任务指标
    Prometheus+Grafana监控flink任务指标前期准备Prometheus是一款基于时序数据库的开源监控告警系统,由go语言开发,Prometheus的基本原理是通过HTTP协议周期性抓取被监控组件的状态,任意组件只要提供对应的HTTP接口就可以接入监控。Grafana是一款采用Go语言编写的开源应用,前端由Re......
  • centos7 开启网卡相关设置
     默认网卡是ens33  查看ip命令ipa 或ipaddr 对于没有启用的网卡,使用命令ifup,开启网卡。注意网卡的名称ens33找到自己对应的ifupens33永久默认启用网卡,关机或重启后,网卡自动启用该配置文件在/etc/sysconfig/network-scripts文件夹下,可以提前备份下ifcfg-ens33,......
  • 修改网站默认首页设置的操作流程详解
    大多数情况下,网站都会有一个固定的起始页面作为访客首次接触的窗口。然而,出于营销推广或其他特殊考虑,我们可能希望临时或永久改变这一默认设置。具体应如何操作呢?解决方案:登录后台管理系统:以管理员身份进入网站后台,找到有关站点配置或者页面管理的相关选项卡。指定新的首页文......
  • 如何有效设置网站首页关键词以提高搜索引擎排名
    首页是用户进入网站的第一印象,也是SEO中最关键的部分之一。合理设置首页关键词可以帮助搜索引擎理解网站主题,进而提高在搜索结果中的曝光率。然而,很多站长不知道应该如何挑选和布局这些关键词,导致浪费了宝贵的优化机会。解决方案研究竞争对手:分析同行业内排名靠前的网站所使用......
  • 解决网站设置为只读后仍被入侵写入文件的问题
    问题描述: 用户将网站根目录设置为只读权限,但仍然发现有恶意文件被写入。请求协助清理并恢复数据,确保网站安全。回答: 您好,针对您提到的网站设置为只读后仍被入侵写入文件的问题,我们已经为您进行了以下处理和建议:数据恢复与清理:我们已经恢复了主机空间的数据备份,并清除了一......
  • 如何调整主页跳转设置以确保显示最新内容
    用户发现访问域名时,页面显示的是旧版本的内容,而希望打开该域名时直接展示最新的网站首页。这种现象可能是由于缓存、重定向设置或程序功能配置不当引起的。解决方案:检查缓存设置:浏览器和服务器端的缓存机制可能导致旧页面被优先加载。首先尝试清除浏览器缓存,并通过无痕模式重......