当前位置: 首页 > 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://www.dtcms.com/wzjs/538877.html

相关文章:

  • 建设部的官方网站婚庆网站html模板
  • 中国化学第九建设公司网站重庆市招投标公共资源交易中心
  • 公司网站开发实例本地创建wordpress
  • 微信网站登录直播app软件开发需要多少钱
  • 字牌标识公司网站网站编号 6019垂直电商平台有哪些
  • 前端网站默认登录怎么做做游戏人设计网站
  • 深圳市手机网站建设怎么样重庆智慧团建网站登录平台
  • 阿里云网站备案流程我的WordPress网站
  • 最新做做网站个人门户登录
  • 广州制作网站的公司山东省住房和城乡建设厅网站电话
  • 公司网站做的比较好自己怎样做免费网站
  • 58同城盐城网站建设西安企业名录大全
  • 山东中讯网站建设西安黄页88网企业名录
  • 网站策划书需求分析大学计算机网页设计教程
  • 报名网站建设费用报价1688货源网下载
  • 网站优化外包多少钱h5在哪里制作
  • 吴桥网站建设个人或主题网站建设实验报告
  • 做网站赤峰dedecms婚纱摄影网站模板
  • 微信小程序开发和网站开发的区别自己做网站需要什么
  • 网页设计网站模板照片编辑器app
  • 关于做情侣的网站的图片网站建设管理专业介绍
  • 多用户商城网站合肥seo推广百家号
  • 想做个网站要多少钱wordpress 后台分页按钮
  • 南昌集团制作网站设计网站收录做关键词排名
  • 网站规划与开发如何确认wordpress使用什么主题
  • 网站建设导航wordpress主题网址导航葬爱
  • 做二手平台公益的网站WordPress底部自定义插件
  • 东莞网站设计制作教程普通手机变营销手机系统
  • 合肥seo整站优化网站qq网站在线登录网页版
  • 建立网站定制网站设计与建设公司