PySpark实战:cache操作

来自CloudWiki
跳转至: 导航搜索

介绍

cache操作会使用默认存储级别(MEMORY_ONLY)保留该RDD,

防止多次进行创建,从而提高效率。

它的调用形式为rdd.cache()

代码

import findspark
findspark.init()
##############################################
from pyspark.sql import SparkSession
spark = SparkSession.builder \
        .master("local[1]") \
        .appName("RDD Demo") \
        .getOrCreate();
sc = spark.sparkContext
#############################################
#0...999
rdd =sc.parallelize(range(1000))
#缓存
rdd.cache()
#最大值999
print(rdd.max())
##############################################
sc.stop()

  • rdd.cache()在RDD对象上进行缓存操作,后续的RDD操作会直接从内存中加载数据进行计算
  • Spark当中还有一个类似的缓存操作rdd.persist(storageLevel),它可以制定存储级别storageLevel

输出

999