Spark sql优化
缓存数据
可以将df或ds进行缓存(cache方法persist方法)
默认存储级别memory_and_disk
参数调优
可以通过配置下表中的参数调节Spark SQL的性能。
Property Name | Default | Meaning |
---|---|---|
spark.sql.files.maxPartitionBytes | 134217728 (128 MB) | 获取数据到分区中的最大字节数。 |
spark.sql.files.openCostInBytes | 4194304 (4 MB) | 该参数默认4M,表示小于4M的小文件会合并到一个分区中,用于减小小文件,防止太多单个小文件占一个分区情况。 |
spark.sql.broadcastTimeout | 300 | 广播等待超时时间,单位秒。 |
spark.sql.autoBroadcastJoinThreshold | 10485760 (10 MB) | 最大广播表的大小。设置为-1可以禁止该功能。当前统计信息仅支持Hive Metastore表。 |
spark.sql.shuffle.partitions | 200 | 设置shuffle分区数,默认200。 |
一些基本原则
1 尽量复用RDD
2 使用RDD缓存
3 优化数据结构
4
数据倾斜
原理:
一个分区要处理的数据远远大于其他分区.
如何定位发生数据倾斜的代码
问题分析
- 某个task特别慢
- 查看数据倾斜发生在第几个stage中
- 某个task内存溢出
Spark sql优化相关推荐
- 袋鼠云数栈基于CBO在Spark SQL优化上的探索
原文链接:袋鼠云数栈基于CBO在Spark SQL优化上的探索 一.Spark SQL CBO选型背景 Spark SQL的优化器有两种优化方式:一种是基于规则的优化方式(Rule-Based Opt ...
- Spark Sql优化之3.0特性AQE
前言 这一篇来介绍Spark3.0版本中Spark Sql新增的重要特性AQE AQE全称Adaptive Query Execution,在3.0版本中主要包含以下三个功能 (1)Dynamical ...
- spark sql优化:小表大表关联优化 union替换or broadcast join
----原语句(运行18min) SELECTbb.ipFROM(SELECTip ,sum(click) click_num,round(sum(click) / sum(imp), 4) user ...
- spark sql 优化心得
本篇文章主要记录最近在使用spark sql 时遇到的问题已经使用心得. 1 spark 2.0.1 中,启动thriftserver 或者是spark-sql时,如果希望spark-sql run ...
- Spark性能优化 -- Spark SQL、DataFrame、Dataset
本文将详细分析和总结Spark SQL及其DataFrame.Dataset的相关原理和优化过程. Spark SQL简介 Spark SQL是Spark中 具有 大规模关系查询的结构化数据处理 模块 ...
- Spark SQL玩起来
标签(空格分隔): Spark [toc] 前言 Spark SQL的介绍只包含官方文档的Getting Started.DataSource.Performance Tuning和Distribut ...
- 如何查询spark版本_掌握Spark SQL中的查询执行
了解您的查询计划 自从Spark 2.x以来,由于SQL和声明性DataFrame API,在Spark中查询数据已成为一种奢侈. 仅使用几行高级代码就可以表达非常复杂的逻辑并执行复杂的转换. API ...
- 大数据Hadoop之——Spark SQL+Spark Streaming
文章目录 一.Spark SQL概述 二.SparkSQL版本 1)SparkSQL的演变之路 2)shark与SparkSQL对比 3)SparkSession 三.RDD.DataFrames和D ...
- Cris 的 Spark SQL 笔记
一.Spark SQL 概述 1.1 什么是Spark SQL Spark SQL 是 Spark 用来处理结构化数据的一个模块,它提供了2个编程抽象: DataFrame 和DataSet,并且作为 ...
最新文章
- 近期活动盘点:设计与人工智能思享会、制造业的转型升级到产业跃迁思享会、瓜子二手车周洲讲座(10.30-11.1)...
- 模拟滤波器和数字滤波器
- Flutter ------- WebView加载网页
- vue 组件之间的传值
- php写按条件查询代码,php如何实现按条件查询
- 光纤光信号闪红灯_电信光纤光猫光信号闪红灯怎么处理
- 让代码看起来更舒服(1):选择适合的配色方案 (转)
- 基本数据类型参数传递 与 引用数据类型参数传递区别
- discuzx3.2自定义积分操作日志,discuzx积分二次开发完全记录
- iphone静音键失灵_静音键——大部分安卓手机都不爱用的神设计
- mysql 好用 客户端_5款好用的mysql客户端
- 《Redis开发与运维》读书笔记
- linux pt远程下载,Linux中使用Transmission下载BT/PT[zz]
- AI+BI,悬在云上的梦想,难以落地的应用
- Python爬虫 | 以滑雪为例演示大众点评商铺信息采集!
- 超神战记不显示服务器,《超神战记》停运公告
- 所有weblogic版本下载
- 3. 编程规范和编程安全指南--java
- 外链怎么做?看看外链代发的这些黑幕!
- git删除本地代码库文件后同步到远程仓库同时删除远程仓库文件
热门文章
- python3源代码分析_分析一点python源代码
- java游戏代码_Java与Kotlin系列文章之性能问题详解
- 笔记本电脑开机后在桌面上没有计算机图标,电脑开机之后桌面上没有图标怎么处理...
- sql关联查询子表的第一条_SQLAlchemy(8)惰性查询
- php 使用phpize报错Cannot find config.m4. Make sure that you run ‘/usr/bin/phpize‘ in the top l
- oracle 表收缩,Oracle 收缩表大小 Oracle Shrink Table
- python mysql捕获异常_python mysql无法捕获异常
- python自动化上传文件_python接口自动化测试二十三:文件上传
- php 类遍历,php数组遍历类与用法示例
- 接口带声音输出吗_智能化时代,你的功放跟得上科技的脚步吗?