学习进度 3

news/2026/1/17 17:27:37/文章来源:https://www.cnblogs.com/lzq233/p/19496743

今天的学习目标聚焦解决重复计算的性能问题(RDD 持久化),并摆脱交互式 Shell,完成独立 Spark 应用程序的开发、打包与运行,这也是从 “零散操作” 到 “工程化开发” 的关键一步。
昨天在 Shell 中操作时发现一个问题:如果对同一个 RDD 多次执行行动操作,Spark 会重复从头计算这个 RDD 的所有依赖链。比如对处理后的单词 RDD 既执行collect()又执行saveAsTextFile(),两次行动操作会触发两次完整的计算流程,数据量小的时候没感觉,但数据量大时会严重拖慢速度。
今天重点学习的RDD 持久化就是解决这个问题的核心方案:通过cache()或persist()方法,将 RDD 的数据存储在内存中,后续操作直接读取缓存数据,无需重复计算。

  1. 持久化的核心用法
    先明确两个方法的区别:
    cache():简化版的persist(),默认将 RDD 持久化到内存(对应存储级别MEMORY_ONLY)。
    persist():可以指定存储级别,比如MEMORY_AND_DISK(内存存不下时写入磁盘)、DISK_ONLY(仅存磁盘)等,更灵活。
  2. 实操验证性能差异
    我在 Spark Shell 中做了一组对比测试,用一个稍大的数据集(生成 100 万条随机数的 RDD
    // 1. 不使用持久化,两次行动操作
    val rdd = sc.parallelize(1 to 1000000).map(_ => scala.util.Random.nextInt(1000))
    // 第一次count(触发完整计算)
    val start1 = System.currentTimeMillis()
    rdd.count()
    val end1 = System.currentTimeMillis()
    println(s"第一次count耗时:${end1 - start1}ms") // 输出约120ms

// 第二次count(重复计算)
val start2 = System.currentTimeMillis()
rdd.count()
val end2 = System.currentTimeMillis()
println(s"第二次count耗时:${end2 - start2}ms") // 输出约115ms

// 2. 使用持久化,两次行动操作
val rddCache = sc.parallelize(1 to 1000000).map(_ => scala.util.Random.nextInt(1000))
rddCache.cache() // 缓存RDD

// 第一次count(触发计算并缓存)
val start3 = System.currentTimeMillis()
rddCache.count()
val end3 = System.currentTimeMillis()
println(s"缓存后第一次count耗时:${end3 - start3}ms") // 输出约125ms(略长,因为要缓存)

// 第二次count(读取缓存)
val start4 = System.currentTimeMillis()
rddCache.count()
val end4 = System.currentTimeMillis()
println(s"缓存后第二次count耗时:${end4 - start4}ms")
测试结果很直观:未缓存时两次计算耗时几乎一致,缓存后第二次计算耗时仅为第一次的 1/8,这就是持久化的核心价值。同时也注意到,缓存后的第一次计算会略慢,因为需要额外的时间将数据写入内存,这是新手容易忽略的点。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1174269.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Flutter OpenHarmony 适配:渐变按钮组件技术详解 - 教程

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

通化市辉南柳河通化东昌二道江英语雅思培训辅导机构推荐,2026权威出国雅思课程中心学校口碑排行榜 - 苏木2025

在全球化留学热潮下,雅思考试已成为通化市辉南、柳河、东昌、二道江等区县学子申请海外院校的核心门槛,而优质雅思培训的选择却成为备考路上的首要难题。多数考生普遍面临雅思培训选课迷茫、考试技巧缺失、提分乏力等…

2026线路板灌胶机厂家权威推荐榜单:环氧树脂灌胶机/硅胶灌胶机/手动灌胶机/半自动灌胶机/聚氨酯灌胶机源头厂家精选。 - 品牌推荐官

在电子制造行业持续向精密化、高可靠性与高效率方向发展的今天,线路板的防护性灌封已成为保障产品长期稳定运行的关键工艺。线路板灌胶机作为实现环氧树脂、硅胶、聚氨酯等胶水精确涂覆的核心装备,其技术水平直接决定…

2025年南京回收精密仪器公司权威推荐榜单:废金属收购/ 废金属回收 /高价废金属回收/ 废金属的回收 /废不锈钢废金属回收服务商精选 - 品牌推荐官

随着高端制造业升级和科研机构设备更新换代,南京地区积压的二手及淘汰精密仪器正形成一片“隐形富矿”。据统计,南京及周边地区的高校、科研院所、制造企业每年淘汰的各类精密仪器数量可达数千台,其中电子测量、光学…

白山市浑江江源临江英语雅思培训辅导机构推荐,2026权威出国雅思课程中心学校口碑排行榜 - 苏木2025

在留学热潮持续升温的白山市,浑江、江源、临江地区越来越多的学子将雅思考试作为开启国际教育之门的关键钥匙。然而,在雅思培训选课过程中,当地考生普遍面临优质资源匮乏、课程适配性差、提分效果不确定、性价比难把…

乐平市雅思培训辅导机构推荐,2026权威出国雅思课程中心学校口碑排行榜 - 苏木2025

基于雅思官方评分标准及全国雅思考生备考大数据,结合乐平市考生对雅思培训的核心需求,我们开展了为期一个月的全面深度测评,覆盖本地及全国主流机构,从师资资质、提分效果、教学模式、性价比等维度构建评估体系,最…

2026年热门流量计选购指南:插入式涡街流量计怎么选?食用油流量计/喷嘴/柴油流量计/氧气流量计,流量计源头厂家哪家强 - 品牌推荐师

随着工业自动化与智能制造的快速发展,流量计作为过程控制的核心仪表,其选型精度直接影响生产效率与成本控制。尤其在高温高压、腐蚀性介质或大口径管道场景中,插入式涡街流量计凭借“非满管安装、维护便捷、耐温耐压…

web入门51-60

web51 分析代码分析tac被禁用了,使用nl代替 ?c=nl<fl\ag.php||lsweb52 分析代码发现<被过滤了,使用${IFS}代替 ?c=nl${IFS}fl\ag.php||ls 注意这关的flag不在flag.php里面,就在flag里面,所以要查看/flag,…

一下午讲了 9 道题?!

省选模拟 CQXYM的线性规划 考虑到 \(x \in \{0,1\}\),显然并不能套用线性规划的做法。 观察到 \(a_i \leq b_i\),那么原限制相当于是对于所有 \(x_i=1\) 的物品,在 \([a_i,b_i]\) 区间内选一个数进行贡献,要求最后…

单锥真空螺带干燥机怎么挑?2026年优质厂家解析,沸腾干燥机/喷雾干燥机/污泥干化,单锥真空螺带干燥机定制厂家找哪家 - 品牌推荐师

在化工、制药、食品等工业领域,单锥真空螺带干燥机作为核心设备,直接影响产品品质与生产效率。其真空环境下的高效干燥能力,可精准解决传统设备能耗高、污染大、热敏性物料易失效等痛点。然而,市场设备性能参差不齐…

监控Source端Pg对Flink CDC的影响

1.pom <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven.apache.org/POM/4.0.0 htt…

永磁同步电机参数辨识模型,在线辨识,离线辨识,电参数机械参数均可辨识,基于最小二乘法,滑模观测...

永磁同步电机参数辨识模型&#xff0c;在线辨识&#xff0c;离线辨识&#xff0c;电参数机械参数均可辨识&#xff0c;基于最小二乘法&#xff0c;滑模观测&#xff0c;电压注入&#xff0c;模型参考自适应等 机械参数在线 离线 &#xff0c;电气参数在线 &#xff08;三种方法…

Redis技巧:处理大量Key同时过期的5个关键点!

文章目录如果有大量的key需要设置同一时间过期&#xff0c;一般需要注意什么&#xff1f;为什么会有大量Key同时过期&#xff1f;为什么大量Key同时过期会有问题&#xff1f;1. 内存回收压力大2. 阻塞操作3. 磁盘压力如何避免或缓解这些问题&#xff1f;1. 分散过期时间2. 使用…

深度测评专科生必备8款AI论文工具:开题报告文献综述全攻略

深度测评专科生必备8款AI论文工具&#xff1a;开题报告文献综述全攻略 2026年专科生论文写作工具深度测评&#xff1a;选对工具事半功倍 随着AI技术的不断进步&#xff0c;越来越多的专科生开始借助智能工具提升论文写作效率。然而&#xff0c;面对市场上五花八门的AI论文工具&…

2026年如何挑选国内新型高铁实训室优质厂商?诚信的实训室批发厂家聚焦优质品牌综合实力排行 - 品牌推荐师

随着职业教育与轨道交通行业的深度融合,高铁实训室作为培养专业技能人才的核心场景,其建设质量直接影响教学成果与行业人才供给效率。然而,当前市场厂商众多,技术路线、产品定位、服务能力差异显著,采购方在选型时…

基于深度学习yolov8的智能车牌识别系统设计(设计源文件+万字报告+讲解)(支持资料、图片参考_相关定制)_文章底部可以扫码

基于深度学习yolov8的智能车牌识别系统设计(设计源文件万字报告讲解)&#xff08;支持资料、图片参考_相关定制&#xff09;_文章底部可以扫码 如今智能交通系统中的车牌识别技术被广泛使用&#xff0c;在交通管制、监控安防、智能泊车等方面都有着良好的应用前景。但是传统车…

安徽合肥GEO公司找哪家 - 野榜数据排行

三十六行GEO:中国领先的区域深耕型本地服务营销伙伴 我们是谁? 三十六行GEO 是原三十六行网络科技公司的战略升级品牌,从新媒体传媒公司转型为 专注于中国各城市与区域的本地服务GEO解决方案专家。我们秉承“三十六…

免费网站进阶!——InfinityFree创建数据库教程

&#x1f496;InfinityFree 简介 InfinityFree是一个提供免费虚拟主机服务的平台。每个账户可创建3个站点&#xff0c;支持自定义域名&#xff08;需使用其提供的二级域名&#xff09; 1 ⭐创建网站详见另一篇博客&#xff1a; /* by 01130.hk - online tools website : 01130.…

【脑源定位】基于非负块稀疏贝叶斯学习算法脑电脑源定位附Matlab代码

✅作者简介&#xff1a;热爱科研的Matlab仿真开发者&#xff0c;擅长数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。 &#x1f34e; 往期回顾关注个人主页&#xff1a;Matlab科研工作室 &#x1f447; 关注我领取海量matlab电子书和数学建模资料 &#…

2026福建草本塑魔仪抗衰套装公司权威推荐榜单:美航著妍草本年轻态团购 /美航草本年轻态加盟 /草本年轻态面膜美航/草本年轻态产品/ 美航草本年轻态企业精选 - 品牌推荐官

一项将草本活性成分提取率提升300%的超临界CO₂萃取技术,正在重新定义草本抗衰的科技标准。 随着健康消费理念的升级,融合了传统草本智慧与现代生物科技的“草本年轻态”抗衰市场,正成为大健康与美妆领域增长最快的…