如何构建 Scala 映射并作为 arg 传递给 Python 解释器中的 Scala 构造函数?

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

我正在使用运行在 Java 8、Python 3.6(py4j==0.10.7)和 Scala 2.11 上的 PySpark v2.3.4 的 Jupyter Notebook,我有一个 Scala 案例 class 接受一个 Map arg:

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

我想从 my_class 构造一个对象,但我不太清楚如何构造 Map arg。下面是我关注的几个 attempts/docs,其中 sc 是我的 SparkContext。

这些只是我迄今为止尝试过的一些尝试。还没有真正找到关于如何做到这一点的好例子,所以任何帮助将不胜感激!

我仔细研究了 PySpark 的 src 代码并发现了这个 -- 似乎暂时修复它以供将来任何人参考:

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