在zeppelin中将pandas数据帧转换为RDD

时间:2017-06-09 07:54:08

标签: python apache-spark apache-zeppelin

我是Zeppelin的新手,我有些事情我不明白。

我已经使用python从db下载了一个表,然后,我想将它转换为RDD。但是我收到了找不到表的错误。  我认为创建用另一个解释器创建的表有一个问题,但我真的不知道......我尝试了thisthis问题,但仍然无法工作,他们直接创建了df火花。任何帮助都会非常有用:)

: _*

1 个答案:

答案 0 :(得分:3)

将Pandas DataFrame转换为Spark DataFrame非常简单:

 
%python
import pandas

pdf = pandas.DataFrame([[1, 2]]) # this is a dummy dataframe

# convert your pandas dataframe to a spark dataframe
df = sqlContext.createDataFrame(pdf)

# you can register the table to use it across interpreters
df.registerTempTable("df")

# you can get the underlying RDD without changing the interpreter 
rdd = df.rdd

要使用scala spark获取它,您只需执行以下操作:

 
%spark
val df = sqlContext.sql("select * from df")
df.show()
// +---+---+
// |  0|  1|
// +---+---+
// |  1|  2|
// +---+---+

您还可以获取基础rdd:

  
val rdd = df.rdd