【发布时间】:2020-05-21 18:10:14
【问题描述】:
我正在使用运行在 Java 8、Python 3.6(py4j==0.10.7)和 Scala 2.11 上的 PySpark v2.3.4 的 Jupyter Notebook 工作,并且我有一个 Scala 案例类,它接受 @987654324 @arg 就这样:
case class my_class(arg1: Long, arg2: Map[String, String] = Map.empty)
我想从my_class 构造一个对象,但我不太清楚如何构造Map arg。以下是我遵循的一些尝试/文档,其中sc 是我的 SparkContext。
-
sc._jvm.scala.collection.JavaConversions.iterableAsScalaIterable([('hello','world')]).toMap() -
MapConverter().convert({'a':'b'}, sc._gateway._gateway_client)- Py4j JavaCollections MapConverter
- 编译但返回
py4j.java_collections.JavaMap对象而不是 scala 映射。
-
sc._jvm.scala.collection.JavaConverters.*- 找不到任何存在于其docs 中的方法
这些只是我迄今为止尝试过的一些尝试。还没有真正找到如何做到这一点的好例子,所以任何帮助都将不胜感激!
【问题讨论】:
标签: java python scala pyspark py4j