spark学习(2)之检查点和缓存机制

2024-06-08 14:58

本文主要是介绍spark学习(2)之检查点和缓存机制,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

检查点

检查点是spark的一种容错机制,它是在lineage过程中定时的把计算结果保存起来–》检查点目录
lineage (血统):spark执行周期
检查点目录分为:
本地目录:需要spark-shell启动到本地模式
hdfs目录:需要spark-shell启动到集群模式
因为我们只一般用到hdfs,所以我们下面示例只说到把检查点设置到hdfs中,
操作:
1、开启spark-shell

./bin/spark-shell --master spark://bigdata111:7077

2、设置检查点

sc.setCheckpointDir("hdfs://bigdata111:9000/spark/ckpt/0522")

3、我们从hdfs获取一个rdd

val rdd1=sc.textFile("hdfs://bigdata111:9000/input/data.txt")

4、我们希望在rdd1计算过程中各个阶段存储计算结果,我们需要给rdd1设置检查点

rdd1.checkpoint

5、然后我们给rdd1执行一个操作后,就报计算过程中的各阶段计算结果保存在了hdfs上

rdd1.count

6、然后我们就可以在检查点的目录中查看存储的结果了

缓存

我们可以把执行的结果放在缓存中,等下次执行同样的计算的时候就直接拿缓存中的结果

val rdd1=sc.textFile("/root/training/salse")
rdd1.count   //正常执行计算操作
rdd1.cache  //给rdd1设置缓存
rdd1.count  //在这次执行的时候并不会很快,可能花费的时间更长,除了计算还需要把计算结果反倒缓存中
rdd1.count  //等到这次执行的时候就很快了

我们使用cache和persisit设置缓存中,在内部cache也是调用的persist,默认设置缓存设置在缓存中,我们也给以给persist传一个参数StorageLevel来设置缓存的策略

这篇关于spark学习(2)之检查点和缓存机制的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1042512

相关文章

java中反射(Reflection)机制举例详解

《java中反射(Reflection)机制举例详解》Java中的反射机制是指Java程序在运行期间可以获取到一个对象的全部信息,:本文主要介绍java中反射(Reflection)机制的相关资料... 目录一、什么是反射?二、反射的用途三、获取Class对象四、Class类型的对象使用场景1五、Class

Linux修改pip和conda缓存路径的几种方法

《Linux修改pip和conda缓存路径的几种方法》在Python生态中,pip和conda是两种常见的软件包管理工具,它们在安装、更新和卸载软件包时都会使用缓存来提高效率,适当地修改它们的缓存路径... 目录一、pip 和 conda 的缓存机制1. pip 的缓存机制默认缓存路径2. conda 的缓

Redis解决缓存击穿问题的两种方法

《Redis解决缓存击穿问题的两种方法》缓存击穿问题也叫热点Key问题,就是⼀个被高并发访问并且缓存重建业务较复杂的key突然失效了,无数的请求访问会在瞬间给数据库带来巨大的冲击,本文给大家介绍了Re... 目录引言解决办法互斥锁(强一致,性能差)逻辑过期(高可用,性能优)设计逻辑过期时间引言缓存击穿:给

Java进阶学习之如何开启远程调式

《Java进阶学习之如何开启远程调式》Java开发中的远程调试是一项至关重要的技能,特别是在处理生产环境的问题或者协作开发时,:本文主要介绍Java进阶学习之如何开启远程调式的相关资料,需要的朋友... 目录概述Java远程调试的开启与底层原理开启Java远程调试底层原理JVM参数总结&nbsMbKKXJx

如何通过Golang的container/list实现LRU缓存算法

《如何通过Golang的container/list实现LRU缓存算法》文章介绍了Go语言中container/list包实现的双向链表,并探讨了如何使用链表实现LRU缓存,LRU缓存通过维护一个双向... 目录力扣:146. LRU 缓存主要结构 List 和 Element常用方法1. 初始化链表2.

一文详解Nginx的强缓存和协商缓存

《一文详解Nginx的强缓存和协商缓存》这篇文章主要为大家详细介绍了Nginx中强缓存和协商缓存的相关知识,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录一、强缓存(Strong Cache)1. 定义2. 响应头3. Nginx 配置示例4. 行为5. 适用场景二、协商缓存(协

Golang基于内存的键值存储缓存库go-cache

《Golang基于内存的键值存储缓存库go-cache》go-cache是一个内存中的key:valuestore/cache库,适用于单机应用程序,本文主要介绍了Golang基于内存的键值存储缓存库... 目录文档安装方法示例1示例2使用注意点优点缺点go-cache 和 Redis 缓存对比1)功能特性

Nginx之upstream被动式重试机制的实现

《Nginx之upstream被动式重试机制的实现》本文主要介绍了Nginx之upstream被动式重试机制的实现,可以通过proxy_next_upstream来自定义配置,具有一定的参考价值,感兴... 目录默认错误选择定义错误指令配置proxy_next_upstreamproxy_next_upst

MySQL8.0设置redo缓存大小的实现

《MySQL8.0设置redo缓存大小的实现》本文主要在MySQL8.0.30及之后版本中使用innodb_redo_log_capacity参数在线更改redo缓存文件大小,下面就来介绍一下,具有一... mysql 8.0.30及之后版本可以使用innodb_redo_log_capacity参数来更改

Java深度学习库DJL实现Python的NumPy方式

《Java深度学习库DJL实现Python的NumPy方式》本文介绍了DJL库的背景和基本功能,包括NDArray的创建、数学运算、数据获取和设置等,同时,还展示了如何使用NDArray进行数据预处理... 目录1 NDArray 的背景介绍1.1 架构2 JavaDJL使用2.1 安装DJL2.2 基本操