Spark缓存持久化终极版
以后看到 DataFrame3 秒就能决定用哪种绝不踩坑。一、终极选择口诀小且多次用 → cache大且多次用 → 写临时表超长链 / 防 OOM → checkpoint只用一次 → 啥都不用二、详细判断标准1. 用 .cache() 的场景满足 全部 条件过滤后数据 20GB 或 远小于资源内存同一个 DF 要 被调用 2 次以上后面有 join /union/ 多次 count /show集群内存不紧张血缘链不长不会出现递归计算优点最快、最简单风险太大必 OOM不断血缘链# 1. 加载并缓存小表dfspark.read.parquet(small_data).cache()# 2. 多次使用df.filter(...).count()df.join(...)df.groupBy(...).count()# 3. 使用完释放内存重要df.unpersist()# 主动清理缓存释放内存2. 用 写临时表方案 A 的场景满足 任意一条 就用它过滤后数据 20GB50GB担心 OOM、想要绝对稳定任务要跑很久不想中途重算需要调试、想看中间数据要被多个段落、多个 job 重复使用优点永不爆内存、可断点续跑、可查中间表缺点多一次 IO 写入但换来超级稳# 1. 写入临时表磁盘存储df.write.saveAsTable(temp_novel_data)# 2. 直接读表使用多次用都稳dfspark.read.table(temp_novel_data)# 后续任意计算df.groupBy(...).count()# 清理临时表spark.sql(DROP TABLE IF EXISTS temp_novel_data)3. 用 .persist(xxx) 的场景想缓存但不想占太多内存数据中等不想写表又怕 cache 爆精细控制缓存级别内存 磁盘、只磁盘等一般新手不用刻意记直接用 cache 或临时表即可。核心依然不断血缘不能根治 OOM纯内存默认cacheMEMORY_ONLY内存磁盘推荐防OOMMEMORY_AND_DISK纯磁盘DISK_ONLYfrompyspark.storagelevelimportStorageLevel# 内存磁盘序列化最常用、最稳dfdf.persist(StorageLevel.MEMORY_AND_DISK)# 多次使用df.show()df.count()# 清理df.unpersist()4. 用 checkpoint 的场景核心防 OOM、断血缘Checkpoint 本质就是把整个 DF 全量落盘写一遍磁盘开销 一次全量数据的读写 IO 一次 Job 计算CPU 微增、内存几乎不增、磁盘 IO 明显增加但换来血缘截断、杜绝 OOM、任务不崩满足 任意一条 必须用计算链路极长多次 join/groupBy/ 窗口 / 迭代出现过 OOM 报错尤其是 Driver 栈溢出机器学习 / 迭代计算循环反复使用同一个 DF需要彻底切断血缘依赖释放内存数据不需要反复调试只需要作为中间断点优点唯一能斩断血缘、根治长链 OOM缺点需要指定目录写入磁盘比 cache 慢和 cache 区别cache 存数据checkpoint 断血缘链条越长 → 构建计划越耗内存 → Driver/Executor 直接 OOM# 1. 设置 checkpoint 目录本地用 /tmp/...集群用 HDFS 路径spark.sparkContext.setCheckpointDir(hdfs:///user/spark/checkpoint)# 2. 长链路后执行断链防OOM核心dfdf.checkpoint(eagerTrue)# 后续使用血缘已断绝对不爆df.groupBy(...).count()# 第一次Actiondf.count()# 第二次Actiondf.show()# 第三次Actiondf.join()# 第三次Action# Python 清理目录importshutil shutil.rmtree(/tmp/spark-checkpoints,ignore_errorsTrue)5. 啥都不用直接裸奔DF 只使用一次后面直接 write 保存结果。数据极大连临时表都不写这种情况 Spark 流水线串行最省资源。三、秒选情况选择核心作用小表、多次用cache加速计算纯内存最简单中等表、怕内存爆、想更稳persist (内存 磁盘)可控缓存兼顾速度与稳定性大表、多次用写临时表稳定、不爆内存长链 / 迭代 / 防 OOMcheckpoint斩断血缘根治 OOM只用一次不缓存省资源怕 OOM、要稳定写临时表 /checkpoint保证任务不崩调试、看中间数据写临时表可查询、可回溯四、最关键一句话总结cache/persist 提速不断链 → 不治 OOM临时表 稳定、大数据专用checkpoint 断血缘、防崩溃 → 专治 OOM

相关新闻

AI项目ROI评估实战指南:从成本收益拆解到价值验证

AI项目ROI评估实战指南:从成本收益拆解到价值验证

1. 从“AI梦男”到“AI实干家”:为什么ROI评估是项目的第一道防线最近两年,AI项目在企业里火得一塌糊涂。但不知道你有没有遇到过这样的场景:一位充满激情的领导,在一次行业峰会后,带着“AI将颠覆一切”的兴奋感回到公…

2026/8/26 16:02:43 阅读更多 →
VSCode配置C/C++环境:解决无法打开stdio.h等头文件错误

VSCode配置C/C++环境:解决无法打开stdio.h等头文件错误

1. 项目概述:从“无法打开stdio.h”说起刚装好VSCode,兴致勃勃地准备写第一行C代码,结果一个红色波浪线就给你当头一棒:“检测到 #include 错误,请更新 includePath”,紧接着就是那句更让人心塞的“无法打开…

2026/8/26 15:59:28 阅读更多 →
Flutter应用适配鸿蒙平台指导文档

Flutter应用适配鸿蒙平台指导文档

Flutter应用适配鸿蒙平台指导文档 本文档介绍如何将已有的 Flutter 应用(已支持 iOS/Android)扩展支持鸿蒙平台,在现有项目中添加鸿蒙平台目录,保持多端代码复用。 前置条件 已安装 DevEco Studio已完成 Flutter OH 环境搭建 开…

2026/8/26 15:58:33 阅读更多 →

最新新闻

离线安装Nginx

离线安装Nginx

在离线服务器上执行以下命令,确认基础编译环境是否就绪: gcc --version && make --version && pkg-config --libs pcre zlib openssl如果上述任一命令报错,说明缺少编译依赖。你必须在相同系统的联网机器上提前下载好 gcc, m…

2026/8/26 19:28:18 阅读更多 →
深入剖析Spark UI界面:参数与界面详解

深入剖析Spark UI界面:参数与界面详解

一、概述 Spark UI是Apache Spark内置的Web监控界面,为开发者和运维人员提供对Spark应用程序执行过程的实时、可视化洞察。它以直观的方式展示作业(Jobs)、阶段(Stages)、任务(Tasks)、SQL执行…

2026/8/26 19:28:18 阅读更多 →
基于springboot2+vue2的二手车交易系统

基于springboot2+vue2的二手车交易系统

1. 获取代码https://fifteen.xiaobias.com/source/2222. 项目简介 二手车交易系统,旨在为二手车买卖双方提供一个在线信息发布与交流平台。系统支持三种角色:管理员、商家和普通用户。 管理员:负责系统的整体管理,包括对商家、用户…

2026/8/26 19:28:18 阅读更多 →
Windows系统文件wephostsvc.dll丢失找不到问题解决

Windows系统文件wephostsvc.dll丢失找不到问题解决

在使用电脑系统时经常会出现丢失找不到某些文件的情况,由于很多常用软件都是采用 Microsoft Visual Studio 编写的,所以这类软件的运行需要依赖微软Visual C运行库,比如像 QQ、迅雷、Adobe 软件等等,如果没有安装VC运行库或者安装…

2026/8/26 19:28:18 阅读更多 →
停工待料、错发漏发、设备停摆?宽海智能WMS企业版:四大场景痛点逐一击破

停工待料、错发漏发、设备停摆?宽海智能WMS企业版:四大场景痛点逐一击破

作者:宽海智能——存量立库全科医生WMS|WCS|数字孪生|PLC升级改造|技术盘活|新增需求|维护保养长沙|佛山|苏州|成都|天津引言在制造业数字化转型的…

2026/8/26 19:28:18 阅读更多 →
前端现在只会玩框架,原生JS全忘光了,行业集体退化到令人发指

前端现在只会玩框架,原生JS全忘光了,行业集体退化到令人发指

当下的前端圈子已然糟糕到了极点, 每个人都在追逐框架, 比拼语法, 炫耀工程化, 然而却连最为基础的原生 JS 都没办法写明白。整个行业都呈现出集体退化, 集体摆烂的态势。Vue、React、TS、Vite 一股脑儿叠加起来, 人人都感觉自己是高级工程师, 可是真要是叫他们脱离框架去写些内…

2026/8/26 19:27:18 阅读更多 →

日新闻

Python random 模块常用函数详解:从入门到实战

Python random 模块常用函数详解:从入门到实战

目录 1. 引言2. 准备工作3. 基础随机函数4. 序列相关函数5. 随机种子与复现6. 实战案例7. 注意事项8. 常见问题与排查9. 总结 1. 引言 摘要: 本文系统介绍 Python 标准库 random 模块中最常用的随机数生成函数。内容涵盖基础随机函数(random()、unifor…

2026/8/26 0:00:40 阅读更多 →
《Microsoft Sql server 2008 Internals》读书笔记--第三章Databases and Database Files(2)

《Microsoft Sql server 2008 Internals》读书笔记--第三章Databases and Database Files(2)

《Microsoft Sql server 2008 Internals》索引目录: 《Microsoft Sql server 2008 Internals》读书笔记--目录索引 在上篇文章中,主要介绍了创建数据库的基本语法和FileGroup的初步知识。需要注意的是: 关于FileGroup 如果你的系统是用Raid设备直接存…

2026/8/26 1:18:18 阅读更多 →
政务AI智能体怎么建?三种模式、三步路径与四个误区

政务AI智能体怎么建?三种模式、三步路径与四个误区

政务AI智能体已经从概念试点阶段,转入了政务服务的常态化落地应用;在实际使用过程中,它能自主理解办事需求、辅助完成填报申报、开展材料预审,并联动多个系统协同作业,真正嵌入到政务办理的全流程当中。但在落地推进过…

2026/8/26 1:18:18 阅读更多 →

周新闻

[光学原理与应用-521]:对光的错误理解与纠偏

[光学原理与应用-521]:对光的错误理解与纠偏

首先光是一种能量的载体和形态,宏观上观察到的光是由无数个微观的光量子组成的,每个光子在产生的瞬间,其在真空的空间中以确定不变的速度沿着一个初始的方向一直向前,在微观层面,每个光量子的运动轨迹是以波函数所展现…

2026/8/26 14:45:33 阅读更多 →
SIP通话转接原理与REFER方法实战解析

SIP通话转接原理与REFER方法实战解析

1. 通话转接不是“挂断再拨号”,而是SIP会话的动态重定向你有没有遇到过这样的场景:客服坐席A正在和客户通电话,突然需要把这通对话无缝转给专家坐席B,客户完全感知不到中间的断连——既没听到忙音,也没被要求重新拨号…

2026/8/26 17:46:43 阅读更多 →
Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

1. 为什么选择Kolla-ansible来部署单节点OpenStack?如果你正在寻找一种能把OpenStack从“概念”快速变成“可用的实验环境”的方法,那么Kolla-ansible几乎是当前最主流、最省心的选择。我见过太多人卡在手动编译依赖、配置服务、处理版本冲突的泥潭里&am…

2026/8/26 14:46:37 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/26 3:50:20 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/26 17:46:39 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/26 1:24:05 阅读更多 →