簡體   English   中英

如何構造 Scala map 並作為 arg 傳遞給 ZA7F5F35426B927411FC9231B5 中的 Scala 構造函數?

[英]How to construct a Scala map and pass as arg into a Scala constructor in Python interpreter?

I am working in a Jupyter Notebook with PySpark v2.3.4 which runs on Java 8, Python 3.6 (with py4j==0.10.7), and Scala 2.11, and I have a Scala case class that takes in a Map arg as so:

case class my_class(arg1: Long, arg2: Map[String, String] = Map.empty)

我想從my_class構造一個 object ,但我不太清楚如何構造Map arg。 以下是我遵循的一些嘗試/文檔,其中sc是我的 SparkContext。

  • sc._jvm.scala.collection.JavaConversions.iterableAsScalaIterable([('hello','world')]).toMap()
  • MapConverter().convert({'a':'b'}, sc._gateway._gateway_client)
  • sc._jvm.scala.collection.JavaConverters.*
    • 找不到其文檔中存在的任何方法

這些只是我迄今為止嘗試過的一些嘗試。 還沒有真正找到如何做到這一點的好例子,所以任何幫助將不勝感激!

我挖掘了 PySpark 的 src 代碼並發現了這個——似乎現在修復它以供將來任何人參考:

sc._jvm.PythonUtils.toScalaMap({'hello':'world'})

暫無
暫無

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

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