HIS*_*ISI 3 scala apache-spark
这是我尝试将数据框保存到文本时遇到的错误:
org.apache.spark.sql.AnalysisException: Text data source supports only a single column, and you have 8 columns
Run Code Online (Sandbox Code Playgroud)
这是代码:
df.write.text("/tmp/wt")
Run Code Online (Sandbox Code Playgroud)
我做错了什么?
在Spark 1.6中,最简单的解决方案是使用databricks的库并编写:
df.write.format("com.databricks.spark.csv").save("pathToFile.csv")
Run Code Online (Sandbox Code Playgroud)
如果您不想使用它,您可以简单地将数据帧的行转换为 csv 行,如下所示:
df.rdd
.map(_.toSeq.map(_+"").reduce(_+";"+_))
.saveAsTextFile("pathToFile.csv")
Run Code Online (Sandbox Code Playgroud)
请注意,如果您的字段可以包含分隔符或引号,您将必须添加封闭引号并转义现有引号,这些都是库会透明地为您做的事情。
| 归档时间: |
|
| 查看次数: |
8296 次 |
| 最近记录: |