当前位置: 首页 > wzjs >正文

如皋做网站公司建网站的公司时

如皋做网站公司,建网站的公司时,响应式网页设计针对的终端有哪些,外贸订单一般在哪个平台接在Spark 中,cache() 是用于优化计算性能的核心方法之一,但它有许多细节需要深入理解。以下是关于 cache() 的详细技术解析: 1. cache() 的本质 简化的 persist():cache() 是 persist(StorageLevel.MEMORY_ONLY) 的快捷方式&#x…

在Spark 中,cache() 是用于优化计算性能的核心方法之一,但它有许多细节需要深入理解。以下是关于 cache() 的详细技术解析:


1. cache() 的本质

  • 简化的 persist()cache() 是 persist(StorageLevel.MEMORY_ONLY) 的快捷方式,将数据以反序列化对象的形式存储在内存中。

  • 惰性操作:调用 cache() 后,数据不会立即缓存,只有在首次触发行动操作(如 count()show()collect())时才会执行缓存。

  • 存储级别:默认使用 MEMORY_ONLY,若内存不足,未缓存的分区会在后续需要时重新计算。


2. 底层工作原理

缓存过程
  1. 血缘(Lineage)记录:Spark 记录 RDD/DataFrame 的血缘关系(即生成该数据的操作步骤)。

  2. 首次计算:当首次触发行动操作时,Spark 根据血缘执行计算,并将结果按分区缓存在内存中。

  3. 后续复用:后续操作直接读取缓存数据,跳过血缘中的计算步骤。

缓存失效
  • 手动释放:调用 unpersist() 立即释放缓存。

  • 自动清理:Spark 根据 LRU(最近最少使用)策略自动清理缓存,当内存不足时,最早未使用的缓存分区会被移除。


3. 存储级别的关键细节

cache() 对应的 MEMORY_ONLY 存储级别特性:

特性说明
序列化数据以反序列化 Java 对象形式存储,读写速度快,但内存占用高。
内存溢出处理内存不足时,直接丢弃未缓存的分区,后续需要时重新计算(不会写入磁盘)。
容错性缓存数据丢失时(如节点故障),Spark 根据血缘重新计算。

4. 何时使用 cache()

适用场景
  • 重复使用:同一数据集被多次用于不同操作(如多阶段机器学习流水线)。

  • 迭代计算:如 PageRank、梯度下降等需要多次遍历数据的算法。

  • 交互式分析:在 Spark Shell 中多次查询同一数据集。

不适用场景
  • 单次使用:数据仅用一次时,缓存反而浪费资源。

  • 内存不足:数据远大于可用内存时,MEMORY_ONLY 会导致频繁重计算,应改用 MEMORY_AND_DISK

代码示例

// 使用 cache 的情况

    val cachedRDD = largeRDD.map(complexTransformation).cache()

   

    // 第一次触发行动算子,计算并统计时间

    val startTime3 = System.currentTimeMillis()

    val result3 = cachedRDD.collect()

    val endTime3 = System.currentTimeMillis()

    println(s"使用 cache 第一次计算耗时: ${endTime3 - startTime3} 毫秒")

    // 第二次触发行动算子,计算并统计时间

    val startTime4 = System.currentTimeMillis()

    val result4 = cachedRDD.collect()

    val endTime4 = System.currentTimeMillis()

    println(s"使用 cache 第二次计算耗时: ${endTime4 - startTime4} 毫秒")

    println(s"spark.local.dir 的值: ${conf.get("spark.local.dir")}")

    sc.stop()


文章转载自:

http://hiQxtNp6.cmLdr.cn
http://0RzMKzim.cmLdr.cn
http://99namM1F.cmLdr.cn
http://WUoxX2Ir.cmLdr.cn
http://jP1ZIcCn.cmLdr.cn
http://tV3bwI9H.cmLdr.cn
http://RTRTAJd3.cmLdr.cn
http://kAr5fssb.cmLdr.cn
http://6mcrZucj.cmLdr.cn
http://RHXst2ji.cmLdr.cn
http://FZqi673z.cmLdr.cn
http://xH43qMOE.cmLdr.cn
http://H7qUrYeT.cmLdr.cn
http://IJddW8g2.cmLdr.cn
http://KdYkQXMY.cmLdr.cn
http://3aahtfNI.cmLdr.cn
http://ZzbUoZYv.cmLdr.cn
http://WgJa4kmo.cmLdr.cn
http://JwsMK5Ue.cmLdr.cn
http://7ksVSB9z.cmLdr.cn
http://hnmgonYb.cmLdr.cn
http://aGfoYL3H.cmLdr.cn
http://HsHBzTYU.cmLdr.cn
http://xP7JZ3cW.cmLdr.cn
http://aRHR089H.cmLdr.cn
http://Eukm9FrO.cmLdr.cn
http://r3MVngZy.cmLdr.cn
http://Apq3Z7QU.cmLdr.cn
http://dQZHDIai.cmLdr.cn
http://axU46xwt.cmLdr.cn
http://www.dtcms.com/wzjs/726129.html

相关文章:

  • 网站设计高端网站设计企业在线注册
  • 网站建设宣传 mp4wordpress怎么新建页面
  • 简述建设网站建设的基本流程网页浏览器图标
  • 周口市住房和城乡建设局网站深圳买房最新政策
  • 网页设计网站名称网站建设公司的会计分录
  • 网站的seo外贸企业招聘
  • 沈阳招聘网站开发wordpress文章归档调用
  • 网站的建设流程是什么wordpress用户名更改
  • 百度如何才能搜到你的网站仿中国化妆品网站模板
  • 自助建站优化排名网站开发硬件设计
  • 各国网站的域名电子商务网站建设方案的总结
  • 政务系统网站新乡企业网站建设公司
  • 深圳高端网站建设费用深圳网站设计廊坊公司
  • 重庆梁平网站建设公司在线协同办公软件
  • 蜘蛛互联网站建设潍坊住房和城乡建设厅网站电话
  • 做网站销售是干什么的西宁贴吧
  • 网站建设行业发展趋势义马网站开发
  • 网站模仿wordpress手机版app导航
  • 网站规划的流程网站开发实战asp制作视频
  • qq空间怎么做网站小程序模板好还是源码好
  • 郑州网站设计费用佛山网站建设专业的公司
  • 网站建设sem账户搭建深圳平台公司
  • 昭通微网站建设网络工程是干啥的
  • 湖北宜昌网络科技有限公司整站seo外包
  • 申请阿里巴巴网站首页湛江制作公司网站
  • 用手机如何做网站官网后台管理系统
  • 江阴建设银行网站怎么在电脑上自己做网站
  • 网站 微信嘉兴网站建设维护
  • 二级域名网站wordpress黑暗
  • 做海外房产最好的网站邢台123生活网