首页/数据/数仓建模速查/Spark 缓存与持久化级别
湖仓与引擎63 条

Spark 缓存与持久化级别

重复使用的中间结果可 cache 或 persist:默认 MEMORY_AND_DISK;写磁盘会拖慢但避免重算,用完及时 unpersist 释放资源。

数仓建模速查数据更新于 2026-10-12
cacheMEMORY_AND_DISK 简写
persist可选级别
释放unpersist
原则只缓存复用数据

缓存示例

缓存示例
df = spark.table('dwd_trade_order_di').where("dt='2026-10-12'")
df.persist()
print(df.count(), df.groupBy('store_id').count().count())
df.unpersist()
缓存会占用 executor 内存,长链路任务里缓存过多会引发磁盘置换与 GC。

易错点

  • 对只读一次的数据做缓存,白白占用内存

数据来源与参考

  • Apache Spark 官方文档:RDD Persistence
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌