Cal*_*ang 1 python java scala py4j pyspark
我正在使用 PySpark v2.3.4 的 Jupyter Notebook 工作,该笔记本在 Java 8、Python 3.6(py4j==0.10.7)和 Scala 2.11 上运行,并且我有一个 Scala 案例类,它接受一个Maparg,如下所示:
case class my_class(arg1: Long, arg2: Map[String, String] = Map.empty)
Run Code Online (Sandbox Code Playgroud)
我想从 构造一个对象my_class,但我不太清楚如何构造Maparg。以下是我遵循的一些尝试/文档,sc我的 SparkContext 在哪里。
sc._jvm.scala.collection.JavaConversions.iterableAsScalaIterable([('hello','world')]).toMap()
MapConverter().convert({'a':'b'}, sc._gateway._gateway_client)
py4j.java_collections.JavaMap对象而不是 scala 映射。sc._jvm.scala.collection.JavaConverters.*
这些只是我迄今为止尝试过的一些尝试。还没有真正找到关于如何执行此操作的好示例,因此我们将不胜感激任何帮助!
我仔细研究了 PySpark 的 src 代码并发现了这个——似乎现在可以修复它,以供将来任何人参考:
sc._jvm.PythonUtils.toScalaMap({'hello':'world'})
| 归档时间: |
|
| 查看次数: |
470 次 |
| 最近记录: |