1..18
学习了RDD的持久化机制。通过persist()或cache()方法,可以将RDD缓存到内存或磁盘中,避免重复计算。
代码示例:
python
复制
from pyspark import SparkContext
sc = SparkContext("local", "RDD Persistence")
data = sc.parallelize([1, 2, 3, 4, 5])
# 缓存RDD
cached_data = data.map(lambda x: x * 2).cache()
# 第一次行动操作
result1 = cached_data.reduce(lambda x, y: x + y)
# 第二次行动操作(直接从缓存读取)
result2 = cached_data.collect()
print("Result 1:", result1)
print("Result 2:", result2)
sc.stop()
输出:
复制
Result 1: 30
Result 2: [2, 4, 6, 8, 10]