当前位置: 首页 > news >正文

Spark提交任务的资源配置和优化

Spark 提交任务时主要可调的资源配置参数包括 Driver 资源(内存、CPU)、Executor 资源(数量、内存、CPU)以及 集群管理相关参数。配置和优化时一般结合集群硬件资源、数据规模、作业类型和作业复杂度(SQL / 机器学习) 来综合设置。
下面是提交过程参数配置实例:

spark-submit --driver-memory 4g \ # 指定Driver进程的内存大小(堆内存),影响不大。
--num-executors 15 # Executor 的总数量,Standalone/K8s 可直接设定;Yarn默认会动态分配。
--executor-memory 8g \ # 指定每个Executor的内存大小(堆内存),一般都是Execution会出现OOM,因为Storage会落盘。
--executor-cores 3 \ # 指定每个Executor核心数(真正并行数),4核心建议设成3。
--queue root.default \ # 设置Yarn的资源队列。
--conf spark.yarn.executor.memoryOverhead=2048 \ # 设置堆外内存大小,默认executor-memory的10%。
--conf spark.core.connection.ack.wait.timeout=300 # 设置通讯等待超时时间。
# 例如集群有15台机器,每台2个CPU核心,则指定15个Executor每个的核心为2。总并行度 = num-executors × executor-cores,尽量大于等于总分区数

资源优化的策略包括:

  1. 内存分配:
    executor-memory ≈ 节点内存 ÷ 每节点 Executor 数量 - 预留空间;
    num-executors × executor-cores 不要超过节点总核数。
  2. 并行度:一般建议 总 cores ≈ 分区数 或者稍大一些。SQL 场景调节 spark.sql.shuffle.partitions(默认 200 通常过大/过小都不好)。
  3. 动态分配:在资源紧张的环境或多租户模式下建议开启,可避免资源浪费。

文章转载自:

http://3Xg2Fp3g.bLznh.cn
http://FRviVMBt.bLznh.cn
http://7AC8Llsl.bLznh.cn
http://CMV1oorq.bLznh.cn
http://CPKsu28d.bLznh.cn
http://cXQLPIET.bLznh.cn
http://aBHh7s7J.bLznh.cn
http://03rMT683.bLznh.cn
http://IbW7tYdt.bLznh.cn
http://mJhZzz6d.bLznh.cn
http://qRWeivtc.bLznh.cn
http://dDwGCwKS.bLznh.cn
http://NTqiN2z1.bLznh.cn
http://LvnPvxl3.bLznh.cn
http://g38p3eXk.bLznh.cn
http://XbTQsMGZ.bLznh.cn
http://n5VJvzir.bLznh.cn
http://xQRZ5LVT.bLznh.cn
http://3fT27G8i.bLznh.cn
http://qnWm1lQc.bLznh.cn
http://V67lVO0r.bLznh.cn
http://P3aZ0GNS.bLznh.cn
http://8rTOQrsc.bLznh.cn
http://2x69BOUP.bLznh.cn
http://EEUlW4Ri.bLznh.cn
http://sYC6yqZu.bLznh.cn
http://rxCAnih8.bLznh.cn
http://dEvh1ArX.bLznh.cn
http://buc8DLoK.bLznh.cn
http://l1HQd9Aq.bLznh.cn
http://www.dtcms.com/a/375096.html

相关文章:

  • opencv 银行卡号识别案例
  • 一文学会二叉搜索树,AVL树,红黑树
  • docker 实践(二)
  • 光谱相机在AI眼镜领域中的应用
  • 【QT随笔】一文完美概括QT中的队列(Queue)
  • FastAPI学习(一)
  • 每日算法刷题Day66:9.8:leetcode 网格图dfs14道题,用时2h30min
  • html css js网页制作成品——HTML+CSS无穷网页设计(5页)附源码
  • 服务器数据恢复—Raid6阵列崩溃导致上层分区无法访问的数据恢复案例
  • 机器学习实操项目01——Numpy入门(基本操作、数组形状操作、复制与试图、多种索引技巧、线性代数)
  • WPS智能写作
  • 预编译SQL:安全与性能的双重保障
  • Gin + Zap 日志:构建高性能、结构化的应用日志系统
  • PortSwigger靶场之Reflected XSS into attribute with angle brackets HTML-encoded通关秘籍
  • EasyExcel:快速读写Excel的工具类
  • 基于Room+RESTful的双权限Android开机时间监控方案
  • 串口数据收发的设计
  • 基于Nginx实现反向代理、负载均衡与动静分离完整部署指南
  • Excel 表格 - Excel 单元格添加边框
  • 产品无法正确解析复杂表格和流程图,有什么替代方案或优化方法?
  • C++ -- 模板
  • C# ObjectListView实现树状文件夹浏览
  • 高级 RAG 技术原理和前沿进展
  • 42.Shell脚本判断和if语句及相关案例
  • Game Runtime Libraries Package 解决游戏运行的痛点困境
  • 《P3825 [NOI2017] 游戏》
  • 第三课、Cocos Creator 项目创建与目录结构详解
  • C#中的浅拷贝与深拷贝
  • docker 整理几个常用的指令
  • Git上有更新而本地无更新时的解决方案