【大数据学习 | Spark调优篇】常用的shuffle优化

shuffle是一个涉及到CPU(序列化反序列化)、网络IO(跨节点数据传输)以及磁盘IO(shuffle中间结果落盘)的操作。

优化思路:

减少shuffle的数据量,减少shuffle的次数。

具体方式:

  • 能不shuffle的时候尽量不要shuffle数据,可以使用mapjoin广播变量broadcast);
  • 能用reduceByKey就不要用groupByKey,因为reducerByKey会在shuffle前进行本地聚合(map阶段进行预聚合combine),减少写出中间文件的个数,从而可以使在shuffle过程中减少磁盘IO;
  • spark2.0后已经没有HashShuffleManager,只有SortShuffleManager,SortShuffleManager内部有3种shuffle操作,可适应小中大集群。
  • 参数调节:如下

spark.reducer.maxSizeInFlight:reduce task的拉取缓存,默认48m

spark.shuffle.file.buffer:map task的写磁盘缓存,默认32k

spark.shuffle.io.maxRetries:拉取失败的最大重试次数,默认3次

spark.shuffle.io.retryWait:拉取失败的重试间隔,默认5s

相关推荐
huhy~4 小时前
基于CentOS7.9搭建MySQL高可用集群【MGR单主】
数据库·mysql
℡終嚸♂6804 小时前
sql注入知识点(正则回溯绕过waf,CTF ez—RCE题目解析)
数据库·sql·oracle
延凡科技9 小时前
无人机低空智能巡飞巡检平台:全域感知与智能决策的低空作业中枢
大数据·人工智能·科技·安全·无人机·能源
百家方案10 小时前
2026年数据治理整体解决方案 - 全1066页下载
大数据·人工智能·数据治理
zhangkaixuan45611 小时前
Paimon 读取数据流程深度解析
大数据·hadoop·flink·apache·paimon
清平乐的技术专栏13 小时前
HBase集群连接方式
大数据·数据库·hbase
梁下轻语的秋缘14 小时前
Prompt工程核心指南:从入门到精通,让AI精准响应你的需求
大数据·人工智能·prompt
福客AI智能客服14 小时前
工单智转:电商智能客服与客服AI系统重构售后服务效率
大数据·人工智能
2601_9496130215 小时前
flutter_for_openharmony家庭药箱管理app实战+药品分类实现
大数据·数据库·flutter
AIGC合规助手15 小时前
AI智能硬件I万亿市场预测+算法、大模型备案合规手册
大数据·人工智能·智能硬件