如何检查我的RDD或数据帧是否被缓存?

Arn*_*nab 13 apache-spark

我创建了一个数据帧说df1.我使用df1.cache()缓存了这个.如何检查是否已缓存?还有一种方法可以让我看到所有缓存的RDD或数据帧.

Pat*_*oin 11

您可以调用getStorageLevel.useMemoryRDD来查明数据集是否在内存中.例如:

scala> val df = Seq(1, 2).toDF()
df: org.apache.spark.sql.DataFrame = [value: int]

scala> df.storageLevel.useMemory
res1: Boolean = false

scala> df.cache()
res0: df.type = [value: int]

scala> df.storageLevel.useMemory
res1: Boolean = true
Run Code Online (Sandbox Code Playgroud)

  • 这不会告诉您RDD是否在内存中.这只是说RDD是否是要在内存中缓存的候选*. (4认同)

use*_*218 7

@Arnab,

你在Python中找到了这个函数吗?
以下是DataFrame DF的示例:

DF.cache()
print DF.is_cached
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助.
内存

  • is_cached 不是一个方法,它是 DataFrame 类的一个属性。 (2认同)

Sai*_*dam 7

从Spark(Scala)2.1.0开始,可以如下检查数据帧:

dataframe.storageLevel.useMemory
Run Code Online (Sandbox Code Playgroud)