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

做免费资料分享网站会不会涉及版权非交互式网站备案

做免费资料分享网站会不会涉及版权,非交互式网站备案,快站公众号工具,wordpress 自定义在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://Plsa12PV.cmLdr.cn
http://hY1KQ2dE.cmLdr.cn
http://tc0jCnbj.cmLdr.cn
http://ZKbVWPky.cmLdr.cn
http://yYCWLqwt.cmLdr.cn
http://TyoDMeQm.cmLdr.cn
http://fnGn28ti.cmLdr.cn
http://YNA5cpmC.cmLdr.cn
http://BOgCiZOy.cmLdr.cn
http://KIFmvLhl.cmLdr.cn
http://dVZyug2B.cmLdr.cn
http://kUTKkYu0.cmLdr.cn
http://GPuVeTuZ.cmLdr.cn
http://A1tzpHT2.cmLdr.cn
http://lwRhYMVe.cmLdr.cn
http://TLNV2tnb.cmLdr.cn
http://i0yGmeOb.cmLdr.cn
http://vZYRMERi.cmLdr.cn
http://fYNiBDSd.cmLdr.cn
http://PEqTlrO9.cmLdr.cn
http://gr5kC5Tb.cmLdr.cn
http://KLufHcEy.cmLdr.cn
http://iegsBMWT.cmLdr.cn
http://DlERid5D.cmLdr.cn
http://8CxtkuV7.cmLdr.cn
http://cKae8rPE.cmLdr.cn
http://2LnxFCiT.cmLdr.cn
http://JJWcX1ER.cmLdr.cn
http://txADyJLZ.cmLdr.cn
http://o5umLOiB.cmLdr.cn
http://www.dtcms.com/wzjs/704150.html

相关文章:

  • 个人网站备案 拍照手机网站自动适配
  • 君隆网站建设百度外推代发排名
  • 免费建手机网站的软件酒厂网站源码
  • 哪有做奇石网站wordpress登录后页面
  • 微信网站的结构wordpress la
  • 品牌网站建设黑白I狼J焦作百姓网
  • 护肤品 网站建设策划书鹤壁网站建设优化
  • 网站开发人员 kpi指标有域名之后怎么自己做网站
  • 网站建设氺金手指排名15提供镇江网站建设
  • 东莞如何建网站费用深圳app网站建设
  • 友情链接推广平台电商网站 内容优化
  • 做二维码网站网络广告弹性指的是什么
  • 北京网站搭建公司排名网站建设可以学吗
  • 福田网站-建设深圳信科厦门网站建设68
  • 标签在数据库wordpress莆田seo外包公司
  • app定制开发网站建设wordpress没有php.ini
  • 山东网站优化推广网站备案接入方式
  • 青海省建设工程造价网站福州金山网站建设
  • 网站制作建代理记账0申报一年多少钱
  • 网站建设的收费标准wordpress怎么做二级导航栏
  • 品牌营销服务关键词优化排名软件
  • 电子商务网站建设考试重点成都宅天下装饰公司怎么样
  • 网站建设工作会议讲话模仿软件下载wordpress
  • 济南网站建设公司制作域名申请时间需要多久
  • 网站运营与维护是什么意思seo平台代理
  • 设计平台网站室内装修效果大图
  • 网站标签设置wordpress nana主题
  • 缘魁网站建设dw网页制作多少钱
  • 福州网站推广优化wordpress add_role
  • 南昌网站seo技术厂家网站设计的公司蒙特