如何列出 Spark shell 中定义的 RDD?

How to list RDDs defined in Spark shell?

在 "spark-shell" 或 "pyspark" shell 中,我创建了许多 RDD,但我找不到任何方法可以在我当前的 Spark 会话中列出所有可用的 RDD Shell?

在 Python 中,您可以简单地尝试按类型过滤 globals

def list_rdds():
    from pyspark import RDD
    return [k for (k, v) in globals().items() if isinstance(v, RDD)]

list_rdds()
# []

rdd = sc.parallelize([])
list_rdds()
# ['rdd']

在 Scala REPL 中,您应该能够以类似的方式使用 $intp.definedTerms / $intp.typeOfTerm