【发布时间】:2015-08-21 16:19:07
【问题描述】:
我有一个 org.apache.spark.rdd.RDD[MyClass] 的实例。 如何以编程方式检查实例是否持久\inmemory?
【问题讨论】:
标签: apache-spark rdd in-memory
我有一个 org.apache.spark.rdd.RDD[MyClass] 的实例。 如何以编程方式检查实例是否持久\inmemory?
【问题讨论】:
标签: apache-spark rdd in-memory
你想要RDD.getStorageLevel。如果为空,它将返回 StorageLevel.None。但是,仅当它是否标记为缓存时。如果您想要实际状态,您可以使用开发者 api sc.getRDDStorageInfo 或 sc.getPersistentRDD
【讨论】:
您可以调用 rdd.getStorageLevel.useMemory 来检查它是否在内存中,如下所示:
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
【讨论】: