如何检查Spark中的缓存数据框/ rdds /表列表?

时间:2017-04-04 17:43:41

标签: pyspark apache-spark-sql

我打算在Spark中将一些数据帧/表保存到缓存中。我想知道缓存了多少个数据帧/表?

3 个答案:

答案 0 :(得分:1)

你可以按照Brian的说法去做。根据Pyspark,它没有像Scala API那样的“sc.getPersistentRDDs”方法。

您可以跟踪问题here

答案 1 :(得分:0)

可以通过Spark UI的存储选项卡或REST API查看缓存的RDD / Dataframe的详细信息。 enter image description here

答案 2 :(得分:0)

您可以在pySpark中调用基础Java对象

[{
    "name": s.name(),     
    "memSize_MB": float(s.memSize())/ 2**20 , 
    "memSize_GB": float(s.memSize())/ 2**30, 
    "diskSize_MB": float(s.diskSize())/ 2**20, 
    "diskSize_GB": float(s.diskSize())/ 2**30, 
    "numPartitions": s.numPartitions(), 
    "numCachedPartitions": s.numCachedPartitions(),
    "callSite": s.callSite(),
    "externalBlockStoreSize": s.externalBlockStoreSize(),
    "id": s.id(),
    "isCached": s.isCached(),
    "parentIds": s.parentIds(),
    "scope": s.scope(),
    "storageLevel": s.storageLevel(),
    "toString": s.toString()
} for s in sc._jsc.sc().getRDDStorageInfo()]

有关更多信息,请参见Spark Java Docs

zero323的答案https://stackoverflow.com/a/42003733/5060792修改