一、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
,完全存储于磁盘中。