我有一个1000+列的框架。我需要保存这个框架作为.txt文件(而不是.csv)没有头,模式应该是“追加”
在不工作的命令下面使用
df.coalesce(1).write.format("text").option("header", "false").mode("append").save("<path>")
错误我得到了
pyspark.sql.utils.AnalysisException: 'Text data source supports only a single column,
注意:不应使用RDD来保存。因为我需要在同一路径下多次保存文件。
3条答案
按热度按时间arknldoa1#
如果你想为一个多列的框架写出一个文本文件,你必须自己连接这些列。在下面的例子中,我用空格分隔不同的列值,并用
*
替换null值:这给出输出:
输出文件应该如下所示
vlf7wbxs2#
您可以使用以下行轻松地连接列(假设您想要一个位置文件而不是一个分隔文件,对分隔文件使用此方法将需要在每个数据列之间设置分隔列):
连接列后,您的前一行应该可以正常工作:
bkhjykvo3#
您还可以将pyspark对象框架转换为pandas,然后将其保存到文件中。大概是这样的: