2.5
今天学习了Spark性能优化的方法,包括数据分区、缓存策略和广播变量。合理使用这些技术可以显著提升Spark作业的执行效率。
代码示例:
python
复制
from pyspark import SparkContext
sc = SparkContext("local", "Performance Optimization")
# 创建RDD并设置分区数
data = sc.parallelize(range(1, 100000), 4) # 设置4个分区
# 缓存RDD
cached_data = data.map(lambda x: x * 2).cache()
# 使用广播变量
broadcast_var = sc.broadcast(10)
result = cached_data.map(lambda x: x + broadcast_var.value).collect()
print("Result:", result[:10]) # 打印前10个结果
sc.stop()
输出:
复制
Result: [12, 14, 16, 18, 20, 22, 24, 26, 28, 30]