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

spark 性能优化

 1、内存

spark.storage.memoryFraction:很明显,是指spark缓存的大小,默认比例0.6

spark.shuffle.memoryFraction:管理executor中RDD和运行任务时的用于对象创建内存比例,默认0.2

关于这两个参数的设置,常见的一个场景就是操作关系数据库

spark 可以通过jdbc操作关系数据库,但是若是没有分散数据的依据,则将所有数据都读到driver节点上时,这时,强烈建议先看一下表的数据量和集群中对spark的内存设置参数

假设 executor memory 大小设置为2G,也就是说,spark.shuffle.memoryFraction可用内存为2G*0.2=400M,假设5W条数据大小为1M,也就是说可以读取400*50W=2000W条

当你在单节点上读取数据超过2000W而不能及时处理时,就有极大的可能oom

内存设置

spark.shuffle.memoryFraction 0.4  #适当调高

spark.storage.memoryFraction 0.4 #适当调低

2、开启外排序

spark.sql.planner.externalSort true

3、修改序列化工具

spark.serializer                 org.apache.spark.serializer.KryoSerializer

4、限制应用申请内核数

spark.cores.max 15

5、并行数

spark.default.parallelism 90

6、加入第三方常用类库

spark.executor.extraClassPath /opt/spark/current/lib/sqljdbc41.jar:/opt/spark/current/lib/postgresql-9.4-1202-jdbc41.jar:spark-cassandra-connector-full.jar

spark.driver.extraClassPath /opt/spark/current/lib/sqljdbc41.jar:/opt/spark/current/lib/postgresql-9.4-1202-jdbc41.jar:spark-cassandra-connector-full.jar

 

转载于:https://www.cnblogs.com/piaolingzxh/p/5428541.html

相关文章:

  • 第一阶段冲刺个人博客08
  • 【代码笔记】iOS-轮询弹出框
  • 圆角矩形“RoundRectShape”使用详解
  • Javascript异步编程的4种方法
  • [APIO2015]巴厘岛的雕塑
  • HTTP原理
  • javascript中利用柯里化函数实现bind方法
  • theano和keras使用过程中遇到的一些问题记录
  • 20145228《Java程序设计》第九周学习总结
  • Atitit.redis操作总结
  • Java数组技巧攻略
  • Java编程思想读书笔记之内部类
  • 2、变量var关键字
  • 基于CkEditor实现.net在线开发之路(5)列表页面开发
  • 大致相同功能和代码是分开两个源代码,还是保持一个代码
  • 【node学习】协程
  • C# 免费离线人脸识别 2.0 Demo
  • echarts的各种常用效果展示
  • el-input获取焦点 input输入框为空时高亮 el-input值非法时
  • es6要点
  • Linux学习笔记6-使用fdisk进行磁盘管理
  • MaxCompute访问TableStore(OTS) 数据
  • XForms - 更强大的Form
  • -- 查询加强-- 使用如何where子句进行筛选,% _ like的使用
  • 机器学习中为什么要做归一化normalization
  • 微信小程序上拉加载:onReachBottom详解+设置触发距离
  • 我从编程教室毕业
  • 宾利慕尚创始人典藏版国内首秀,2025年前实现全系车型电动化 | 2019上海车展 ...
  • ​ssh免密码登录设置及问题总结
  • ​软考-高级-系统架构设计师教程(清华第2版)【第15章 面向服务架构设计理论与实践(P527~554)-思维导图】​
  • !! 2.对十份论文和报告中的关于OpenCV和Android NDK开发的总结
  • #Linux杂记--将Python3的源码编译为.so文件方法与Linux环境下的交叉编译方法
  • #传输# #传输数据判断#
  • #调用传感器数据_Flink使用函数之监控传感器温度上升提醒
  • (007)XHTML文档之标题——h1~h6
  • (1)(1.8) MSP(MultiWii 串行协议)(4.1 版)
  • (ctrl.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MDd_DynamicDebug”不匹配值“
  • (层次遍历)104. 二叉树的最大深度
  • (二)基于wpr_simulation 的Ros机器人运动控制,gazebo仿真
  • (十二)springboot实战——SSE服务推送事件案例实现
  • (一)Neo4j下载安装以及初次使用
  • (原創) 如何解决make kernel时『clock skew detected』的warning? (OS) (Linux)
  • (自用)learnOpenGL学习总结-高级OpenGL-抗锯齿
  • ******IT公司面试题汇总+优秀技术博客汇总
  • .mysql secret在哪_MYSQL基本操作(上)
  • /boot 内存空间不够
  • [ MSF使用实例 ] 利用永恒之蓝(MS17-010)漏洞导致windows靶机蓝屏并获取靶机权限
  • [Android View] 可绘制形状 (Shape Xml)
  • [AutoSAR 存储] 汽车智能座舱的存储需求
  • [datastore@cyberfear.com].Elbie、[thekeyishere@cock.li].Elbie勒索病毒数据怎么处理|数据解密恢复
  • [Design Pattern] 工厂方法模式
  • [ERROR] Plugin 'InnoDB' init function returned error
  • [InnoDB系列] -- SHOW INNODB STATUS 探秘
  • [javaSE] 看知乎学习工厂模式
  • [JavaWeb学习] idea新建web项目