spark sql官网优化指南

本文详细介绍了Spark SQL的性能优化策略,包括缓存数据以提高查询速度,调整内存相关参数如列式存储和压缩,以及设置如spark.sql.shuffle.partitions等关键参数来优化洗牌操作。此外,还讲解了Join的hints策略、重分区和自适应查询执行(AQE)的使用,旨在帮助用户充分利用Spark SQL进行高效的数据处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

两句话概括

  1. 缓存数据
  2. 调整参数
    在这里插入图片描述

缓存数据

把数据缓存到内存,spark sql能够只扫描需要列并且会自动压缩数据,占用最小的内存和减小GC压力。这无需多言,内存远远要快于磁盘,spark效率比hive高这个就是一个主要原因。

  • 缓存数据代码
spark.catalog.cacheTable("tableName")
或
dataFrame.cache()
  • 释放缓存
spark.catalog.uncacheTable("tableName")
或
dataFrame.unpersist()

用完后一定要记得释放掉,不要空占的内存浪费资源。

  • 内存相关参数
    spark sql可以使用SparkSession的setConf方法,或者使用sql命令 set key=value的方法来配置内存中的缓存。主要的配置参数有两个:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

SunnyRivers

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值