преобразовать JavaObject `scala.collection.Map <Object, RDD <? >>` в словарь Python - PullRequest
0 голосов
/ 03 мая 2019

В pyspark вызов метода Java sparkContext getPersistentRDDs() возвращает экземпляр JavaObject scala.collection.Map<Object,RDD<?>>.

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

Как я могу преобразовать JavaObject scala.collection.Map<Object,RDD<?>> в словарь Python?

1 Ответ

2 голосов
/ 03 мая 2019
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())]}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...