Python 在齐柏林飞艇中将熊猫数据帧转换为RDD

Python 在齐柏林飞艇中将熊猫数据帧转换为RDD,python,apache-spark,apache-zeppelin,Python,Apache Spark,Apache Zeppelin,我是齐柏林飞艇的新手,有些事情我就是不明白 我已经用python从数据库下载了一个表,然后,我想把它转换成RDD。但是我得到的错误是找不到表。 我认为用其他口译员创建的表格有问题,但我真的不知道。。。我试过使用和提问,但仍然不起作用,他们直接使用spark创建df。任何帮助都会非常有用:) 将Pandas数据帧转换为Spark数据帧非常简单: %python import pandas pdf = pandas.DataFrame([[1, 2]]) # this is a dummy dat

我是齐柏林飞艇的新手,有些事情我就是不明白

我已经用python从数据库下载了一个表,然后,我想把它转换成RDD。但是我得到的错误是找不到表。 我认为用其他口译员创建的表格有问题,但我真的不知道。。。我试过使用和提问,但仍然不起作用,他们直接使用spark创建df。任何帮助都会非常有用:)


将Pandas数据帧转换为Spark数据帧非常简单:

%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

哦,谢谢你!!您是如何导入SQL上下文函数的?我从pyspark.sql import*尝试过,但是没有名为pyspark的模块,而且我在pip中找不到它,它似乎是唯一的Spark功能,我不确定我是否理解您的问题。通常齐柏林飞艇会从SPARK_的家里捡起PypSpark。我也不明白你为什么要为此导入任何东西。这是一个完整的函数示例。因为我遇到了错误“NameError:name'sqlContext'未定义”:(您使用的是齐柏林飞艇和spark的哪些版本?您使用的是哪种群集?spark 2.1.0,齐柏林飞艇0.7.1。我在docker的主机上使用它。如果您想跨段落使用已注册的临时表,我发现您需要使用预初始化的sql上下文。对我来说,这就是“sqlc”(虽然我相信sqlContext也是有效的)。但不要像上面那样创建自己的。我导入了一些现有的python代码,其中包含一个名为“sq”的sql上下文,所以我只做了:sq=sqlc,就是这样。
val rdd = df.rdd