2015-04-14 96 views
3

PBM:我可以将熊猫数据框转换为火花rdd吗?

一)读本地文件到熊猫数据帧说PD_DF B)操纵/ Massge的PD_DF和列添加到数据帧 C)需要使用火花写PD_DF到HDFS。我该怎么做 ?

+0

为什么不直接将本地文件读入Spark数据框? – karlson

+0

正如我所说的,我想在使用spark将它写入HDFS之前使用熊猫DF来操作数据。不知道火花数据帧是否支持熊猫数据框支持的所有功能 –

回答

8

可以使用SQLContext对象调用createDataFrame方法,该方法的输入data其可以任选地是熊猫DataFrame对象。

+0

我知道这个选项。但试图查看是否有一种直接的方式将DF转换为RDD而不创建schemaRDD。 –

+1

'schemaRDD'已被Spark 1.3中的DataFrames所取代。如果你不想让你的RDD元素成为'Row'实例,调用'df.rdd.map(lambda x:[e for e in x])'。虽然我真的不明白你为什么要这么做。你想要保存什么格式? – karlson

+0

计划是从NFS中读取csv文件,并在使用panda df进行处理后,将其交换为spark rdd并将其写为hdfs中的avro/parquet文件。此外,是否支持DF支持熊猫DF目前支持的所有功能? –

1

比方说dataframe的类型是pandas.core.frame.DataFrame的再火花2.1 - Pyspark我这样做

rdd_data = spark.createDataFrame(dataframe)\ 
       .rdd 

在情况下,如果要重命名的列或只选择几列,你在使用之前做他们.rdd

希望它也适用于你。

0

我使用Spark 1.6.0。首先将熊猫数据帧转换为火花数据帧,然后火花数据帧火花rdd

sparkDF = sqlContext.createDataFrame(pandasDF) 
sparkRDD = sparkDF.rdd.map(list) 
type(sparkRDD) 
pyspark.rdd.PipelinedRDD 
相关问题