2017-06-22 118 views
0

我想将RDD的某些列写入文本文件。 目前我正在使用熊猫来做到这一点。Python Spark:将RDD的某些列写入文本文件

df_2016_pandas = df_2016.select('id', 'source', 'date', 'title', 'abstract', 'content').toPandas()

,然后列转换为字符串写入文本文件

title_string = ''.join(df_2016_pandas.title.tolist())

output_file.write(title_string)

这样,我写contentabstract同一文本文件(我想要的文本文件由title,content和组成来自RDD的)。

由于数据庞大(28M记录),我认为使用熊猫效率不高。 有没有办法我可以在spark(python)中做到这一点,即将RDD的某些列(元组)写入文本文件。

回答

0

问题太清楚了,但是从解释看起来您只需要选择的列在输出文件中。 PySpark和Pandas集成并不可取。您可以使用下面的方式直接保存df。这会将数据存储在分区中,然后连接文件并从HDFS下载。

#Tested on pyspark 1.6 
df_2016.select('title', 'abstract', 'content').write.mode("overwrite").format("parquet").save("name_file")