我可以将pandas dataframe转换为spark rdd吗?

时间:2015-04-14 19:25:03

标签: pyspark

Pbm:

a)将本地文件读入Panda数据帧,例如PD_DF b)操纵/标记PD_DF并将列添加到数据帧 c)需要使用spark将PD_DF写入HDFS。我该怎么做?

3 个答案:

答案 0 :(得分:8)

您可以使用SQLContext对象来调用createDataFrame方法,该方法接受输入data,该输入可以选择是Pandas DataFrame对象。

答案 1 :(得分:2)

让我们说dataframe的类型为pandas.core.frame.DataFrame然后在spark 2.1中 - Pyspark我这样做了

rdd_data = spark.createDataFrame(dataframe)\
                .rdd

如果您要重命名任何列或只选择几列,请在使用.rdd之前执行这些列

希望它也适合你。

答案 2 :(得分:0)

我使用Spark 1.6.0。首先将pandas数据帧转换为spark数据帧,然后将数据帧设置为spark rdd

sparkDF = sqlContext.createDataFrame(pandasDF)
sparkRDD = sparkDF.rdd.map(list)
type(sparkRDD)
pyspark.rdd.PipelinedRDD