在pyspark中,调用getPersistentRDDs()
Java SparkContext 方法返回 scala.collection.Map<Object,RDD<?>>
的 JavaObject 实例。
from pyspark.sql import SparkSession
from pyspark import StorageLevel
spark = SparkSession.builder.master('yarn').getOrCreate()
sc = spark.sparkContext
df = spark.range(0, 25000000, 1)
df.persist(StorageLevel.MEMORY_ONLY)
df.limit(1).count()
sc._jsc.sc().getPersistentRDDs()
返回JavaObject id=o477
如何转换 scala.collection.Map<Object,RDD<?>>
的 JavaObject进入Python字典?
最佳答案
from pyspark import RDD
scala_map = sc._jsc.sc().getPersistentRDDs()
py_dict = {e._1(): RDD(e._2().toJavaRDD(), sc) for e in [scala_map.toList().apply(i) for i in range(scala_map.size())]}
关于java - 将 JavaObject `scala.collection.Map<Object,RDD<?>>` 转换为 python 字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55974238/