簡體   English   中英

轉換JavaObject`scala.collection.Map <Object,RDD<?> &gt;`到python字典

[英]convert JavaObject `scala.collection.Map<Object,RDD<?>>` to python dictionary

在pyspark中,調用getPersistentRDDs 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<?>>scala.collection.Map<Object,RDD<?>>轉換為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())]}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM