您可以在 Zeppelin 中的 Scala 和 Pyspark 之间传递哪些类型?
Which types can you pass between Scala and Pyspark inside Zeppelin?
我使用 Zeppelin 0.7.1,有时我想传递非分布式数据类型,如 Seq 或 Array。目前我总是将它们转换为数据集并将它们作为数据框放入 Python 中。有没有更好的办法?
对于简单类型使用z ZeppelinContext 非常方便。
在 Spark 中
z.put("name", "zeppelin")
z.put("array", Array(1, 2, 3))
在 PySpark 中
%pyspark
z.get("name")
ar = z.get("array")
print(ar[0])
z.put("pyspark", "cool")
z.put("pyarray", [1, 2, 3])
再次进入 Spark
z.get("pyspark")
val ar = z.get("pyarray").asInstanceOf[java.util.ArrayList[Int]]
For complex types, can add serialize to string on one side and deserialize on the other side.
我使用 Zeppelin 0.7.1,有时我想传递非分布式数据类型,如 Seq 或 Array。目前我总是将它们转换为数据集并将它们作为数据框放入 Python 中。有没有更好的办法?
对于简单类型使用z ZeppelinContext 非常方便。
在 Spark 中
z.put("name", "zeppelin")
z.put("array", Array(1, 2, 3))
在 PySpark 中
%pyspark
z.get("name")
ar = z.get("array")
print(ar[0])
z.put("pyspark", "cool")
z.put("pyarray", [1, 2, 3])
再次进入 Spark
z.get("pyspark")
val ar = z.get("pyarray").asInstanceOf[java.util.ArrayList[Int]]
For complex types, can add serialize to string on one side and deserialize on the other side.