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
相关推荐
俊哥大数据1 分钟前
【项目9】 基于Spark网站流量日志大数据实时分析系统金融小师妹10 分钟前
AI时序预测模型验证黄金避险逻辑:避险情绪升温驱动黄金逼近历史高位中科天工27 分钟前
怎么通过自动化包装系统优化企业整体运作?程序媛哪有这么可爱!28 分钟前
【删除远程服务器vscode缓存】说私域31 分钟前
基于AI智能名片链动2+1模式S2B2C商城小程序的企业运营能力提升策略研究悟道|养家31 分钟前
基于L1/L2 缓存访问速度的角度思考数组和链表的数据结构设计以及工程实践方案选择(2)aigcapi34 分钟前
AI 获客系统哪个好?矩阵系统哪个好?2026 客观测评 TOP4小宇的天下34 分钟前
Calibre 尺寸检查操作默默在路上40 分钟前
CentOS Stream 9 安装hadoop单机伪分布式模式北京盛世宏博1 小时前
数据可追溯 + 加密传输:以太网温湿度变送器守护涉密档案安全