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

新开传奇网站首区律师推广网站排名

新开传奇网站首区,律师推广网站排名,家具设计师常去的网站,机械加工外协加工网RDD通过persist方法或cache方法可以将前面的计算结果缓存,默认情况下 persist() 会把数据以序列化的形式缓存在 JVM 的堆空间中。 但是并不是这两个方法被调用时立即缓存,而是触发后面的action时,该RDD将会被缓存在计算节点的内存中&#xff…

RDD通过persist方法或cache方法可以将前面的计算结果缓存,默认情况下 persist() 会把数据以序列化的形式缓存在 JVM 的堆空间中。 但是并不是这两个方法被调用时立即缓存,而是触发后面的action时,该RDD将会被缓存在计算节点的内存中,并供后面重用。
在这里插入图片描述
通过查看源码发现cache最终也是调用了persist方法,默认的存储级别都是仅在内存存储一份,Spark的存储级别还有好多种,存储级别在object StorageLevel中定义的。
在这里插入图片描述在存储级别的末尾加上“_2”来把持久化数据存为两份
在这里插入图片描述
缓存有可能丢失,或者存储存储于内存的数据由于内存不足而被删除,RDD的缓存容错机制保证了即使缓存丢失也能保证计算的正确执行。通过基于RDD的一系列转换,丢失的数据会被重算,由于RDD的各个Partition是相对独立的,因此只需要计算丢失的部分即可,并不需要重算全部Partition。

实例演示:

将RDD转换为携带当前时间戳并做缓存:

1、编写代码:

object CacheDemo01 {def main(args: Array[String]): Unit = {// 创建SparkConf并初始化SparkContextval sparkConf: SparkConf = new SparkConf().setMaster("local").setAppName("cache")val sc = new SparkContext(sparkConf)// 创建一个RDDval rdd1: RDD[String] = sc.makeRDD(Array("zhaozhao"))// 为RDD1中元素加上当前时间戳val rdd2: RDD[String] = rdd1.map(_.toString + System.currentTimeMillis())// 输出结果rdd2.collect().foreach(println)rdd2.collect().foreach(println)rdd2.collect().foreach(println)}
}

2、运行结果

我把打印信息剔除一部分,为了方便展示结果。明显看出三次结果不一样

20/08/26 15:52:02 INFO DAGScheduler: ResultStage 0 (collect at CacheDemo01.scala:17) finished in 0.213 s
20/08/26 15:52:02 INFO DAGScheduler: Job 0 finished: collect at CacheDemo01.scala:17, took 1.271296 s
zhaozhao1598428322340
20/08/26 15:52:02 INFO DAGScheduler: Final stage: ResultStage 1 (collect at CacheDemo01.scala:18)
20/08/26 15:52:02 INFO MemoryStore: Block broadcast_1 stored as values in memory (estimated size 1856.0 B, free 1442.4 MB)
20/08/26 15:52:02 INFO MemoryStore: Block broadcast_1_piece0 stored as bytes in memory (estimated size 1200.0 B, free 1442.4 MB)
20/08/26 15:52:02 INFO BlockManagerInfo: Added broadcast_1_piece0 in memory on 192.168.222.1:65520 (size: 1200.0 B, free: 1442.4 MB)
20/08/26 15:52:02 INFO SparkContext: Created broadcast 1 from broadcast at DAGScheduler.scala:996
20/08/26 15:52:02 INFO DAGScheduler: Submitting 1 missing tasks from ResultStage 1 (MapPartitionsRDD[1] at map at CacheDemo01.scala:15)
20/08/26 15:52:02 INFO DAGScheduler: ResultStage 1 (collect at CacheDemo01.scala:18) finished in 0.046 s
20/08/26 15:52:02 INFO DAGScheduler: Job 1 finished: collect at CacheDemo01.scala:18, took 0.106986 s
zhaozhao1598428322526
20/08/26 15:52:02 INFO SparkContext: Starting job: collect at CacheDemo01.scala:19
20/08/26 15:52:02 INFO DAGScheduler: Got job 2 (collect at CacheDemo01.scala:19) with 1 output partitions
20/08/26 15:52:02 INFO DAGScheduler: Final stage: ResultStage 2 (collect at CacheDemo01.scala:19)
20/08/26 15:52:02 INFO DAGScheduler: Parents of final stage: List()
20/08/26 15:52:02 INFO DAGScheduler: Missing parents: List()
20/08/26 15:52:02 INFO DAGScheduler: Submitting ResultStage 2 (MapPartitionsRDD[1] at map at CacheDemo01.scala:15), which has no missing parents
20/08/26 15:52:02 INFO TaskSetManager: Finished task 0.0 in stage 2.0 (TID 2) in 26 ms on localhost (executor driver) (1/1)
zhaozhao1598428322607

3、为RDD2加上缓存操作
在这里插入图片描述4、运行结果

三次打印结果一样,说明开启了缓存操作。

20/08/26 15:56:19 INFO DAGScheduler: Job 0 finished: collect at CacheDemo01.scala:17, took 0.818124 s
zhaozhao1598428579160
20/08/26 15:56:19 INFO SparkContext: Starting job: collect at CacheDemo01.scala:18
20/08/26 15:56:19 INFO MemoryStore: Block broadcast_1 stored as values in memory (estimated size 1864.0 B, free 1442.4 MB)
20/08/26 15:56:19 INFO MemoryStore: Block broadcast_1_piece0 stored as bytes in memory (estimated size 1204.0 B, free 1442.4 MB)
zhaozhao1598428579160
20/08/26 15:56:19 INFO SparkContext: Starting job: collect at CacheDemo01.scala:19
20/08/26 15:56:19 INFO MemoryStore: Block broadcast_2 stored as values in memory (estimated size 1864.0 B, free 1442.4 MB)
20/08/26 15:56:19 INFO MemoryStore: Block broadcast_2_piece0 stored as bytes in memory (estimated size 1204.0 B, free 1442.4 MB)
20/08/26 15:56:19 INFO BlockManagerInfo: Added broadcast_2_piece0 in memory on 192.168.222.1:49236 (size: 1204.0 B, free: 1442.4 MB)
20/08/26 15:56:19 INFO SparkContext: Created broadcast 2 from broadcast at DAGScheduler.scala:996
20/08/26 15:56:19 INFO DAGScheduler: Submitting 1 missing tasks from ResultStage 2 (MapPartitionsRDD[1] at map at CacheDemo01.scala:15)
zhaozhao1598428579160
http://www.lbrq.cn/news/2497915.html

相关文章:

  • 18.ppt网站是谁做的关键词排名查询网站
  • 网站开发教学视频教程提升神马关键词排名报价
  • 网站空间购买注意事项seo三人行网站
  • 网站搭建是哪个岗位做的事儿网络营销的职能有哪些
  • 宁波网站制作一句话宣传自己的产品
  • 建设网站主机免费的怎么下载精准营销及推广
  • 怎么做国外的网站企业营销培训课程
  • axure直接做网站万物识别扫一扫
  • 刷单平台网站建设长春网站建设方案报价
  • 山东嘉邦家居用品公司网站 加盟做经销商多少钱 有人做过吗信息流广告代理商排名
  • asp网站 会员注册口碑营销的案例及分析
  • 用vs2010做免费网站模板下载个人推广网站
  • 网站开发技术 包括市场调研数据网站
  • 域名可以做网站网络建站流程
  • 中企动力官网电话优化关键词规则
  • 建设部网站有建筑施工分包sem与seo的区别
  • 做走私网站免费收录网站推广
  • 初中生学java兰州网络seo
  • 网站如何上传设计外包网站
  • 网站备案注意今日新闻摘抄十条
  • 山西网站建设电话金戈西地那非片
  • 网站模板 北京公司企业网站搜索优化网络推广
  • 徐汇网站制作设计韩国电视剧
  • 成都制作网页设计seo优化师培训
  • 经营性网站怎么备案知乎seo排名帝搜软件
  • 陕西泰烜建设集团网站windows优化大师有毒吗
  • wordpress 覆盖原始图片对比效果深圳抖音seo
  • 如何做网站 百度经验网站搜索引擎优化的方法
  • 网站建设公司的成本有哪些内容百度官网入口链接
  • 医院网站php源码成都有实力的seo团队
  • 从零开始的云计算生活——第三十七天,跬步千里,ansible之playbook
  • Vue 四个map的使用方法
  • Java面试全栈通关:从微服务到AI的技术深度解析
  • element-plus安装以及使用
  • 多模态大模型与 AI 落地:从技术原理到实践路径的深度解析
  • 【C语言进阶】程序环境和预处理