在PySpark,SparkR和Scala解释器之间移动数据

时间:2016-04-08 20:28:37

标签: pyspark sparkr apache-zeppelin

使用Apache Zeppelin,我有以下笔记本段落将内容加载到zeppelinContext对象中。一个来自python(pyspark):

%pyspark
py_list = [5,6,7,8]
z.put("p1", py_list)

一个来自scala(火花):

val scala_arr1 = Array(Array(1, 4), Array(8, 16))
z.put("s1", scala_arr1)

val scala_arr2 = Array(1,2,3,4)
z.put("s2", scala_arr2)

val scala_vec = Vector(4,3,2,1)
z.put("s3", scala_vec)

我正尝试使用以下内容从sparkR段落中访问这些值:

%r
unlist(z.get("s1"))
unlist(z.get("s2"))
unlist(z.get("s3"))
unlist(z.get("p1"))

然而,结果是:

[1]  1  4  8 16
[1] 1 2 3 4
Java ref type scala.collection.immutable.Vector id 51 
Java ref type java.util.ArrayList id 53

如何获取scala Vector和python列表中的值?在R解释器中使用scala和java对象并不是特别有用,因为根据我的知识,R函数没有意义他们我是否超出了齐柏林目前的能力范围?我正在拍摄zeppelin-0.6.0的快照。

0 个答案:

没有答案