object Cache {
// spark的缓存
// 1. cache()
// 2. persist()
// cache()是persist()的一种特殊情况,默认只使用内存
def main(args: Array[String]): Unit = {
//创建spark
val conf = new SparkConf().setAppName("Cache").setMaster("local[*]")
val sc = new SparkContext(conf)
sc.setLogLevel("WARN")
// 创建一个包含大量随机数的RDD
val rdd = sc.parallelize(1 to 10000000).map(_ => scala.util.Random.nextInt(100))
//定义一个复杂的转换函数
def complexTransformation(x: Int): Int = {
var result = x
for (i <- 1 to 1000) {
result = result * 2 % 100
}
result
}
// val rdd1 = rdd.map(complexTransformation)
// 缓存rdd
//val rdd1 = rdd.map(complexTransformation).cache()
// persist
val rdd1 = rdd.map(complexTransformation).persist(StorageLevel.DISK_ONLY)
// 第一次触发行动算子,计算并统计消耗的时间
val startTime = System.currentTimeMillis()
val rs1 = rdd1.count()
val endTime = System.currentTimeMillis()
println(s"第一次计算结果:$rs1,耗时:${endTime - startTime}毫秒")
// 第一次触发行动算子,计算并统计消耗的时间
val startTime1 = System.currentTimeMillis()
val rs2 = rdd1.count()
val endTime1 = System.currentTimeMillis()
println(s"第二次计算结果:$rs2,耗时:${endTime1 - startTime1}毫秒")
}
}
spark的缓存
只因只因爆2025-05-15 19:40
相关推荐
摩羯座-1856903059435 分钟前
Python数据可视化基础:使用Matplotlib绘制图表在未来等你1 小时前
Kafka面试精讲 Day 13:故障检测与自动恢复jiedaodezhuti1 小时前
Flink通讯超时问题深度解析:Akka AskTimeoutException解决方案庄小焱1 小时前
大数据存储域——Kafka实战经验总结ChinaRainbowSea2 小时前
7. LangChain4j + 记忆缓存详细说明zskj_qcxjqr2 小时前
告别传统繁琐!七彩喜艾灸机器人:一键开启智能养生新时代每日新鲜事3 小时前
Saucony索康尼推出全新 WOOOLLY 运动生活羊毛系列 生动无理由,从专业跑步延展运动生活的每一刻在未来等你4 小时前
Kafka面试精讲 Day 15:跨数据中心复制与灾备计算机编程-吉哥5 小时前
大数据毕业设计-基于Python的中文起点网小说数据分析平台(高分计算机毕业设计选题·定制开发·真正大数据)失散136 小时前
分布式专题——5 大厂Redis高并发缓存架构实战与性能优化