Spark3.0核心调优参数小总结
点击上方蓝色字体,选择“设为星标”
回复”面试“获取更多惊喜
本文已经加入「大数据成神之路PDF版」中提供下载。
你可以关注公众号,后台回复:「PDF」 即可获取。
更多PDF下载可以参考:《重磅,大数据成神之路PDF可以分类下载啦!》
Spark重点难点系列:
《【Spark重点难点01】你从未深入理解的RDD和关键角色》
《【Spark重点难点02】你以为的Shuffle和真正的Shuffle》
《【Spark重点难点03】你的数据存在哪了?》
《【Spark重点难点04】你的代码跑起来谁说了算?(内存管理)》
《【Spark重点难点05】SparkSQL YYDS(上)!》
《【Spark重点难点06】SparkSQL YYDS(中)!》
《【Spark重点难点07】SparkSQL YYDS(加餐)!》
《【Spark重点难点08】Spark3.0中的AQE和DPP小总结》
基础配置
spark.executor.memory
指定Executor memory,也就是Executor可用内存上限
spark.memory.offHeap.enabled
堆外内存启用开关
spark.memory.offHeap.size
指定堆外内存大小
spark.memory.fraction
堆内内存中,Spark缓存RDD和计算的比例
spark.memory.storageFraction
Spark缓存RDD的内存占比,相应的执行内存比例为
1 - spark.memory.storageFraction
spark.local.dir
Spark指定的临时文件目录
spark.cores.max
一个Spark程序能够给申请到的CPU核数
spark.executor.cores
单个Executor的核心数
spark.task.cpus
单个task能够申请的cpu数量
spark.default.parallelism
默认并行度
spark.sql.shuffle.partitions
Shuffle过程中的Reducer数量
Shuffle配置
spark.shuffle.file.buffer
设置shuffle write任务的bufferedOutputStream的缓冲区大小。将数据写入磁盘文件之前,将其写入缓冲区,然后在将缓冲区写入磁盘后将其填充。
spark.reducer.maxSizeInFlight
该参数用于设置Shuffle read任务的buff缓冲区大小,该缓冲区决定一次可以拉取多少数据。
spark.shuffle.sort.bypassMergeThreshold
当ShuffleManager为SortShuffleManager时,如果shuffle read task的数量小于这个阈值(默认是200),则shuffle write过程中不会进行排序操作,而是直接按照未经优化的HashShuffleManager的方式去写数据,但是最后会将每个task产生的所有临时磁盘文件都合并成一个文件,并会创建单独的索引文件。
Spark SQL配置
spark.sql.adaptive.enabled
Spark AQE开启开关
spark.sql.adaptive.coalescePartitions.enabled
是否开启合并小数据分区,默认开启
spark.sql.adaptive.advisoryPartitionSizeInBytes
倾斜数据分区拆分,小数据分区合并优化时,建议的分区大小
spark.sql.adaptive.coalescePartitions.minPartitionNum
合并后最小的分区数
spark.sql.adaptive.fetchShuffleBlocksInBatch
是否批量拉取blocks,而不是一个个的去取。给同一个map任务一次性批量拉取blocks可以减少IO提高性能
spark.sql.adaptive.skewJoin.enabled
自动倾斜处理,处理sort-merge join中的倾斜数据
spark.sql.adaptive.skewJoin.skewedPartitionFactor
判断分区是否是倾斜分区的比例。
当一个 partition 的 size 大小大于该值(所有 parititon 大小的中位数)且大于spark.sql.adaptive.skewedPartitionSizeThreshold,或者 parition 的条数大于该值(所有 parititon 条数的中位数)且大于 spark.sql.adaptive.skewedPartitionRowCountThreshold,才会被当做倾斜的 partition 进行相应的处理。默认值为 10
spark.sql.adaptive.skewJoin.skewedPartitionThresholdInBytes
判断是否倾斜分区的最低阈值。
《大数据成神之路》正在全面PDF化。
你只需要关注并在后台回复「PDF」
就可以看到阿里云盘下载链接了!
另外我把发表过的文章按照体系全部整理好了。现在你可以在后台方便的进行查找:
电子版把他们分类做成了下面这个样子,并且放在了阿里云盘提供下载。
我们点开一个文件夹后:
如果这个文章对你有帮助,不要忘记 「在看」 「点赞」 「收藏」 三连啊喂!
Hi,我是王知无,一个大数据领域的原创作者。
放心关注我,获取更多行业的一手消息。
八千里路云和月 | 从零到大数据专家学习路径指南
互联网最坏的时代可能真的来了
我在B站读大学,大数据专业
我们在学习Flink的时候,到底在学习什么?
193篇文章暴揍Flink,这个合集你需要关注一下
Flink生产环境TOP难题与优化,阿里巴巴藏经阁YYDS
Flink CDC我吃定了耶稣也留不住他!| Flink CDC线上问题小盘点
我们在学习Spark的时候,到底在学习什么?
在所有Spark模块中,我愿称SparkSQL为最强!
硬刚Hive | 4万字基础调优面试小总结
数据治理方法论和实践小百科全书
标签体系下的用户画像建设小指南
4万字长文 | ClickHouse基础&实践&调优全视角解析
【面试&个人成长】2021年过半,社招和校招的经验之谈
大数据方向另一个十年开启 |《硬刚系列》第一版完结
我写过的关于成长/面试/职场进阶的文章
当我们在学习Hive的时候在学习什么?「硬刚Hive续集」
Spark3.0核心调优参数小总结相关推荐
- 面试官:你会哪些JVM调优参数?
关注公众号"Java后端技术全栈" 回复"000"获取程序员必备电子书 <Java 面试辅导>来啦!田哥和你面对面,一对一 规划如何准备面试.模拟真 ...
- 美团面试:熟悉哪些JVM调优参数,幸好我准备过!
关注公众号"Java后端技术全栈" 回复"000"获取程序员必备电子书 大家好,我是田维常,江湖人称老田.田哥.田神,今天来和大家分享JVM调优参数. 之前,我 ...
- 深入理解JVM虚拟机14:JVM性能调优的6大步骤,及关键调优参数详解
JVM内存调优 对JVM内存的系统级的调优主要的目的是减少GC的频率和Full GC的次数. 1.Full GC 会对整个堆进行整理,包括Young.Tenured和Perm.Full GC因为需要对 ...
- pyspark性能调优参数
20220311 参数调节 把executor数量调小,其他参数值调大,不容易报错 一.指定spark executor 数量的公式 executor 数量 = spark.cores.max/spa ...
- 直通BAT必考题系列:JVM性能调优的6大步骤,及关键调优参数详解
JVM系列 直通BAT必考题系列:7种JVM垃圾收集器特点,优劣势.及使用场景 直通BAT必考题系列:JVM的4种垃圾回收算法.垃圾回收机制与总结 直通BAT必考题系列:深入详解JVM内存模型与JVM ...
- JVM优化系列-详解常用的虚拟机调优参数
导语 需要对虚拟机进行诊断,首先需要了解如何进行虚拟机的配合和跟踪,这里就来说说有那些虚拟机配置参数,通过它们来对虚拟机进行跟踪和配置. 文章目录 虚拟机跟踪调试参数 如何读懂虚拟机日志 GC基本 ...
- 如何开启jvm日志_直通BAT必考题系列:JVM性能调优的6大步骤,及关键调优参数详解...
JVM系列 直通BAT必考题系列:7种JVM垃圾收集器特点,优劣势.及使用场景 直通BAT必考题系列:JVM的4种垃圾回收算法.垃圾回收机制与总结 直通BAT必考题系列:深入详解JVM内存模型与JVM ...
- JVM-常用内存调优参数总结
一.内存调整参数 -Xmx2g 设置堆内存最大值为2g -Xmx512m 设置堆内存最大值为512m -Xms1g 设置堆内存最小值1g(ps:-Xms和-Xmx实际上是 -XX:InitialHea ...
- Spring Cloud 各组件调优参数
Spring Cloud整合了各种组件,每个组件往往还有各种参数.本文来详细探讨Spring Cloud各组件的调优参数. Tomcat配置参数 1 server: 2 tomcat: 3 max-c ...
- hive的一些调优参数
hive的一些调优参数 set hive.exec.dynamic.partition.mode=nonstrict; 使用动态分区 set hive.exec.max.dynamic.partiti ...
最新文章
- 存储引擎之必知必会 -- 检查点机制
- 获取Class类对象的三种方式
- 模块定义文件导出类_浓缩的就是精华——ES6模块精炼讲解
- 同步容器和并发容器的区别
- viper4android 脉冲样本,【图片】大福利,ViPER4Android FX音效及超过200个精选脉冲样本(转)【华为荣耀3x畅玩版吧】_百度贴吧...
- Eclisp配置Maven(基础简易版)
- C Primer Plus第三章总结
- springboot2.0入门(helloworld)
- 几种在Linux下查询外网IP的办法(转)
- SQL点点滴滴_常用函数
- android蓝牙服务端设置,低功耗蓝牙BLE外围模式(peripheral)-使用BLE作为服务端
- C++模板实现的通用工厂方法模式
- AutoML之锦标赛选择
- 2022年6月25日PMP考试通关宝典-5
- 计算机网络工资如何计算,2019 税后工资计算器,能够准确算薪
- python search函数 中文,Python-re中search()函数怎么用
- 使用 Underminer Studios 的 MR 配置器工具制作现实混合虚拟现实视频
- QQ邮箱验证码登录(移动端邮箱验证登录)
- rocketmq DLedger主从自动切换
- 2023 新年祝福贺卡网站HTML源码
热门文章
- HTML|内联CSS-背景和字体
- 线性代数 --- 矩阵求逆的4种方法
- 引用计数与可达性分析
- opencv3/C++ 机器学习-EM算法/Expectation Maximization
- 红外通信红外编码—NEC协议
- 我的世界java太卡了怎么办_我的世界服务器太卡怎么办 MC服务器优化攻略
- OIer有趣代码+资料整理 1.0.0.8.7
- 香农编码用matlab实验报告,香农编码实验报告.doc
- 计算机主机配件及图解,电脑主机结构图一览 功能配件解析
- ExtJS初学——renderTo/applyTo区别