我想将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)
通过这种方式,我将content
和abstract
写入同一文本文件。(我希望mt文本文件由title
,content
和{{}组成来自RDD的{1}}。
由于数据量很大(28M记录),我认为使用pandas是低效的。 有没有办法可以在spark(python)中执行它,即将RDD的某些列(元组)写入文本文件。
答案 0 :(得分:0)
问题太清楚但是从解释看起来你只需要选择列在输出文件中。 PySpark和Pandas的集成并不可取。您可以使用下面的方法直接保存df。这将在分区中存储数据,然后您连接文件并从HDFS下载。
#Tested on pyspark 1.6
df_2016.select('title', 'abstract', 'content').write.mode("overwrite").format("parquet").save("name_file")