Ho un'istanza di org.apache.spark.rdd.RDD [MyClass]. Come posso controllare a livello di codice se l'istanza è persistente \ inmemory?Come verificare se Spark RDD è in memoria?
7
A
risposta
10
Si desidera RDD.getStorageLevel
. Restituirà StorageLevel.None
se vuoto. Tuttavia, questo è solo se è contrassegnato per la memorizzazione nella cache o no. Se si desidera che lo stato attuale è possibile utilizzare l'API sviluppatore sc.getRDDStorageInfo
o sc.getPersistentRDD
1
È possibile chiamare rdd.getStorageLevel.useMemory per verificare se è in memoria o meno come segue:
scala> myrdd.getStorageLevel.useMemory
res3: Boolean = false
scala> myrdd.cache()
res4: myrdd.type = MapPartitionsRDD[2] at filter at <console>:29
scala> myrdd.getStorageLevel.useMemory
res5: Boolean = true
Grazie Justin per sc. * funzioni! –