一 设置shuffle的并行度

我们可以通过属性spark.sql.shuffle.partitions设置shuffle并行度

二 Hive数据仓库建设的时候,合理设置数据类型,比如你设置成INT的就不要设置成BIGINT,减少数据类型不必要的内存开销

三 SQL优化

四 并行的处理查询结果

对于Spark SQL查询的结果,如果数据量比较大,比如超过1000条,那么就不要使用collect到driver再处理,使用foreach算子并行处理查询结果

五 缓存表

对于一条SQL语句中可能多次使用到的表,可以对其进行缓存,使用SQLContext.cacheTable(tableName)或者DataFrame.cache即可。Spark SQL会用内存 列存储的格式进行表的缓存。然后SparkSQL就可以仅仅扫描需要使用的列,并且自动优化压缩,来最小化内存使用和GC开销。可以通过spark.sql.inMemoryColumnarStorage.batchSize这个参数,默认10000,配置列存储单位

六 广播JOIN表

spark.sql.autoBroadcastJoinThreshold,默认10485760(10M),在内存够用的情况下,提高其大小,可以将join中的较小的表广播出去,而不用进行网络数据传输

spark sql 性能优化相关推荐

  1. Spark SQL性能优化

    性能优化参数 针对Spark SQL 性能调优参数如下: 代码示例 import java.util.List;import org.apache.spark.SparkConf; import or ...

  2. 高效sql性能优化极简教程

    一,sql性能优化基础方法论 对于功能,我们可能知道必须改进什么:但对于性能问题,有时我们可能无从下手.其实,任何计算机应用系统最终队可以归结为: cpu消耗 内存使用 对磁盘,网络或其他I/O设备的 ...

  3. 做 SQL 性能优化真是让人干瞪眼

    很多大数据计算都是用 SQL 实现的,跑得慢时就要去优化 SQL,但常常碰到让人干瞪眼的情况. 比如,存储过程中有三条大概形如这样的语句执行得很慢: select a,b,sum(x) from T ...

  4. SQL性能优化案例分析

    这段时间做一个SQL性能优化的案例分析, 整理了一下过往的案例,发现一个比较有意思的,拿出来给大家分享. 这个项目是我在项目开展2期的时候才加入的, 之前一期是个金融内部信息门户, 里面有个功能是收集 ...

  5. 如何进行正确的SQL性能优化

    在SQL查询中,为了提高查询的效率,我们常常采取一些措施对查询语句进行SQL性能优化.本文我们总结了一些优化措施,接下来我们就一一介绍. 1.查询的模糊匹配 尽量避免在一个复杂查询里面使用 LIKE ...

  6. Oracle SQL性能优化的40条军规

    Oracle SQL性能优化的40条军规 1. SQL语句执行步骤 语法分析> 语义分析> 视图转换 >表达式转换> 选择优化器 >选择连接方式 >选择连接顺序 & ...

  7. SQL性能优化前期准备-清除缓存、开启IO统计

    如果需要进行SQl Server下的SQL性能优化,需要准备以下内容: 一.SQL查询分析器设置: 1.开启实际执行计划跟踪. 2.每次执行需优化SQL前,带上清除缓存的设置SQL. 平常在进行SQL ...

  8. 想让DBA瞬间崩溃,那就让他去做SQL性能优化

    本文分享自华为云社区<做 SQL 性能优化真是让人干瞪眼>,作者: 石臻臻的杂货铺 . 很多大数据计算都是用 SQL 实现的,跑得慢时就要去优化 SQL,但常常碰到让人干瞪眼的情况. 比如 ...

  9. SQL性能优化常见措施(Lock wait timeout exceeded)

    SQL性能优化常见措施 目 录 1.mysql中explain命令使用 2.mysql中mysqldumpslow的使用 3.mysql中修改my.ini配置文件记录日志 4.mysql中如何加索引 ...

最新文章

  1. web前端学习总结--JQuery
  2. 双十一高并发场景背后的数据库RDS技术揭秘
  3. 打开wmware没反应_白酒打开后能存放多久?
  4. Nginx+Tomcat无法正确获取的域名和ip地址
  5. openssh漏洞升级修复
  6. Spring with multiple transaction managers
  7. h5 右下角浮动按钮_Flutter 浮动按钮-FloatingActionButton的使用
  8. C++结构体变量的初始化和结构体char数组成员初始化
  9. 5个Web前端开发软件,零基础入门完全够用了!
  10. chrome浏览器Flash版本过低解决方法
  11. PCAN二次开发,用MFC发送一帧CAN消息
  12. 相关分析——皮尔逊相关系数、t显著性检验及Python实现
  13. 数据库中的操作(语法)
  14. cdr 表格自动填充文字_Excel表格设置生成自动填充序号、编号
  15. Tableau desktop 复制交叉表作为数据源
  16. 才女!厦大硕士毕业生文言文致谢走红网络,理科生的文学素养令人惊艳
  17. 研究生数学建模竞赛-无人机在抢险救灾中的优化应用
  18. spring 容器启动执行重置定时任务
  19. 支付宝小程序 支付时订单处理失败 报ALI38173
  20. 二叉排序树详解及实现

热门文章

  1. java emf 转jpg_java – emf到jpg的转换
  2. 全站仪与计算机之间的数据传输,必看!全站仪数据传输的三种方式详解,都安排得明明白白(上)...
  3. 微型计算机机房湿度不宜过大对,2013年计算机等考三级PC技术练习题及答案(1)...
  4. java高级之泛型详解
  5. Go语言基础(一)——HelloWorld
  6. jq中ajax请求跨域,用JQuery实现简单的Ajax跨域请求
  7. opencv for andriod java代码实现霍夫变化(HoughLinesP)
  8. matlab 0x1表示什么意思,(x ^ 0x1)!= 0是什么意思?(What does (x ^ 0x1) != 0 mean?)
  9. 大文件分片上传前端框架_无插件实现大文件分片上传,断点续传
  10. 都匀中专学计算机,都匀计算机专业中专学校学几年