spark sql官网优化指南-缓存数据

时间:2024-02-19 13:11:57

把数据缓存到内存,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的方法来配置内存中的缓存。主要的配置参数有两个:

    参数 默认值 含义 开始版本
    spark.sql.inMemoryColumnarStorage.comp