我创建了一个数据帧说df1。我使用df1.cache()缓存了这个。如何检查是否已缓存? 还有一种方法可以让我看到所有缓存的RDD或数据帧。
我创建了一个数据帧说df1。我使用df1.cache()缓存了这个。如何检查是否已缓存? 还有一种方法可以让我看到所有缓存的RDD或数据帧。
你可以打电话 getStorageLevel.useMemory
在RDD上查找数据集是否在内存中。例如:
scala> val rdd = sc.parallelize(Seq(1,2))
rdd: org.apache.spark.rdd.RDD[Int] = ParallelCollectionRDD[1] at parallelize at <console>:21
scala> rdd.getStorageLevel.useMemory
res9: Boolean = false
scala> rdd.cache()
res10: rdd.type = ParallelCollectionRDD[1] at parallelize at <console>:21
scala> rdd.getStorageLevel.useMemory
res11: Boolean = true
你可以打电话 getStorageLevel.useMemory
在RDD上查找数据集是否在内存中。例如:
scala> val rdd = sc.parallelize(Seq(1,2))
rdd: org.apache.spark.rdd.RDD[Int] = ParallelCollectionRDD[1] at parallelize at <console>:21
scala> rdd.getStorageLevel.useMemory
res9: Boolean = false
scala> rdd.cache()
res10: rdd.type = ParallelCollectionRDD[1] at parallelize at <console>:21
scala> rdd.getStorageLevel.useMemory
res11: Boolean = true
@Arnab,
你在Python中找到了这个函数吗?
以下是DataFrame DF的示例:
DF.cache() print DF.is_cached
希望这可以帮助。
内存
从Spark(Scala)2.1.0开始,可以检查数据帧,如下所示:
dataframe.storageLevel.useMemory
在Java和Scala中,以下方法可用于查找所有持久化的RDD:
sparkContext.getPersistentRDDs()
这是文档的链接。`
看起来这个方法在python中还没有:
https://issues.apache.org/jira/browse/SPARK-2141
但是可以使用这个短期黑客攻击:
sparkContext._jsc.getPersistentRDDs().items()