RDD持久化、存储级别与缓存

本文介绍了RDD持久化的重要性,通过实例展示了不采用持久化操作时计算RDD需要重复执行前驱转换,而采用持久化后能避免重复计算。同时,文章详细演示了如何设置不同的存储级别,包括内存和磁盘,并利用Spark WebUI观察RDD的缓存状态,以理解Spark的内存管理策略。
摘要由CSDN通过智能技术生成

一、RDD持久化

2、不采用持久化操作

查看要操作的文件

启动Spark Shell

按照图示进行操作,得RDD4和RDD5

 

计算RDD4,会RDD1到RDD2到RDD3到RDD4跑一趟,查看结果

 

计算RDD5,也会RDD1到RDD2到RDD3到RDD4跑一趟,查看结果

3、采用持久化操作

 

计算RDD4,就是基于RDD3缓存的数据开始计算,不用从头到尾跑一趟

 

计算RDD5,就是基于RDD3缓存的数据开始计算,不用从头到尾跑一趟

 

 二、案例演示设置存储级别

net.huawei.rdd包里创建TestPersist对象

运算程序,查看结果

 

三、利用Spark WebUI查看缓存

(一)创建RDD并标记为持久化

(二)Spark WebUI查看RDD存储信息

浏览器中访问Spark Shell的WebUI http://master:4040/storage/查看RDD存储信息,可以看到存储信息为空

执行命令:rdd.collect(),收集RDD数据

 

刷新WebUI,发现出现了一个ParallelCollectionRDD的存储信息,该RDD的存储级别为MEMORY,持久化的分区为8,完全存储于内存中。

 

单击ParallelCollectionRDD超链接,可以查看该RDD的详细存储信息

 

 执行以下命令,创建rdd2,并将rdd2持久化到磁盘

 

刷新上述WebUI,发现多了一个MapPartitionsRDD的存储信息,该RDD的存储级别为DISK,持久化的分区为8,完全存储于磁盘中。

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值