2015-09-07 80 views

回答

6

您可以在RDD上調用getStorageLevel.useMemory來確定數據集是否在內存中。例如:

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 
+0

謝謝你的答案。 python中是否有類似的函數? – StarLord

+0

我這麼認爲,請確認Python API。 –

+0

我似乎無法找到它,如果您對我的位置有任何想法,請幫助我 – StarLord

3

@Arnab,

你有沒有發現在Python的功能?
下面是數據幀DF的例子:

DF.cache() 
print DF.is_cached 

希望這有助於。
拉姆

+1

一個什麼樣的例子? DataFrame類中沒有這種方法。 –

+0

is_cached不是一種方法,它是DataFrame類的一個屬性。 – cftarnas

0

開始,因爲火花(斯卡拉)2.1.0,這可以檢查一個數據幀如下:

dataframe.storageLevel.useMemory