Scala - 在没有[]的情况下将数据框保存到文本文件

时间:2016-10-26 06:20:58

标签: scala apache-spark intellij-idea

当我将Dataframe保存到文本文件时,它会以[]保存 例如,我有一个数据框:

9206E599-2E07-439E-9C01-A6714E779D11
D607E87F-FB90-4F2B-8A99-335AE4F5C97F

当我做myDataFrame.rdd.saveAsTextFile("My Path")时我得到了

[9206E599-2E07-439E-9C01-A6714E779D11]
[D607E87F-FB90-4F2B-8A99-335AE4F5C97F]

有没有办法删除这些括号。

2 个答案:

答案 0 :(得分:5)

更简单的选项 - 只需使用标准的Dataframe write API而无需转换为RDD:

myDataFrame.write.text("My Path")

答案 1 :(得分:0)

这是一种做法。

val df: DataFrame = ???
df.rdd.map(r => r.getString(0)).saveAsTextFile("My Path")

问题是您的RDD包含org.apache.spark.sql.Row对象。当它们被“束缚”时,它们两侧都有方括号。您希望将Row对象中的数据提取到String中。