2015-09-07 10 views

Antwort

6

Sie können getStorageLevel.useMemory auf der RDD aufrufen, um herauszufinden, ob sich die Datenmenge im Speicher befindet. Zum Beispiel:

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

Dank für die Antwort danken. Gibt es eine ähnliche Funktion in Python? – StarLord

+0

Ich denke schon, überprüfen Sie die Python-APIs, um sicher zu sein. –

+0

Ich kann es nicht finden, wenn Sie eine Ahnung haben, wo es mir helfen könnte, bitte helfen Sie mir – StarLord

3

@Arnab,

Haben Sie die Funktion in Python?
Hier ist ein Beispiel für den Datenrahmen DF:

DF.cache() 
print DF.is_cached 

Hoffnung, das hilft.
Ram

+1

Ein Beispiel für was? In der DataFrame-Klasse gibt es keine solche Methode. –

+0

is_cached ist keine Methode, es ist ein Attribut der DataFrame-Klasse. – cftarnas

1

In Java und Scala, könnte folgende Verfahren verwendet, um alle persistenten RDDs zu finden: sparkContext.getPersistentRDDs()
Hier Link zur Dokumentation: https://spark.apache.org/docs/2.0.2/api/java/org/apache/spark/SparkContext.html#getPersistentRDDs()

wie dieser Methode sieht nicht verfügbar ist in python noch:
https://issues.apache.org/jira/browse/SPARK-2141
Aber man könnte diesen kurzfristigen Hack benutzen. sparkContext._jsc.getPersistentRDDs() Produkte()

Danke.

0

Starten seit Funke (Scala) 2.1.0 kann dies für einen Datenrahmen überprüft werden, wie folgt:

dataframe.storageLevel.useMemory 
Verwandte Themen