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
相关推荐
不穿格子的程序员几秒前
Redis篇4——Redis深度剖析:内存淘汰策略与缓存的三大“天坑”赵谨言15 分钟前
基于OpenCV的图像梯度与边缘检测研究pale_moonlight33 分钟前
十二、大数据数据可视化实战拓端研究室39 分钟前
专题:2025医疗行业核心洞察报告:AI医疗、医疗器械、投融资与新药|附380+份报告PDF、数据、可视化模板汇总下载Jackyzhe44 分钟前
Flink源码阅读:如何生成ExecutionGraph跨境卫士情报站1 小时前
亚马逊格局巨变!AI 助手重构购物逻辑,卖家如何顺势突围?Guheyunyi1 小时前
用电安全管理系统的三大系统架构xinyaokeji2 小时前
从“小生态”到“大生态”,艺龙酒店科技以生态体系驱动产业革新AI逐月2 小时前
Git 停止追踪已提交文件问题青云交2 小时前
Java 大视界 -- Java 大数据机器学习模型在金融风险管理体系构建与风险防范能力提升中的应用(435)