【问题标题】:How to check if Spark RDD is in memory?如何检查 Spark RDD 是否在内存中?
【发布时间】:2015-08-21 16:19:07
【问题描述】:

我有一个 org.apache.spark.rdd.RDD[MyClass] 的实例。 如何以编程方式检查实例是否持久\inmemory?

【问题讨论】:

    标签: apache-spark rdd in-memory


    【解决方案1】:

    你想要RDD.getStorageLevel。如果为空,它将返回 StorageLevel.None。但是,仅当它是否标记为缓存时。如果您想要实际状态,您可以使用开发者 api sc.getRDDStorageInfosc.getPersistentRDD

    【讨论】:

    • 感谢 Justin 提供 sc.* 功能!
    【解决方案2】:

    您可以调用 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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-09-12
      • 2022-12-11
      • 2016-07-31
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多