Apache spark spark scala中HDFS的数据帧

Apache spark spark scala中HDFS的数据帧,apache-spark,apache-spark-sql,Apache Spark,Apache Spark Sql,我有一个格式为org.apache.spark.sql.DataFrame=[user\u key:string,field1:string]的spark数据框。当我使用saveAsTextFile在hdfs中保存文件时,结果看起来像[12345,xxxxx]。我不想将开始和结束括号写入输出文件。如果我使用.rdd转换为rdd,rdd中仍然存在括号 谢谢只需连接值和存储字符串即可: 导入org.apache.spark.sql.functions.{concat_ws,col} 导入org.ap

我有一个格式为org.apache.spark.sql.DataFrame=[user\u key:string,field1:string]的spark数据框。当我使用saveAsTextFile在hdfs中保存文件时,结果看起来像[12345,xxxxx]。我不想将开始和结束括号写入输出文件。如果我使用.rdd转换为rdd,rdd中仍然存在括号


谢谢

只需连接值和存储字符串即可:

导入org.apache.spark.sql.functions.{concat_ws,col} 导入org.apache.spark.sql.Row val expr=concat_ws,,df.columns.mapcol:_* df.selectexpr.map\u.getString0.saveAsTextFilesome\u路径 或者更好地使用spark csv:

另一种方法是简单地映射:


然后保存。

只需连接值并存储字符串:

导入org.apache.spark.sql.functions.{concat_ws,col} 导入org.apache.spark.sql.Row val expr=concat_ws,,df.columns.mapcol:_* df.selectexpr.map\u.getString0.saveAsTextFilesome\u路径 或者更好地使用spark csv:

另一种方法是简单地映射:


然后保存。

谢谢您的回复。在生产中,我们有版本1.4.2,而concat_ws不是该版本的一部分。但我可以选择两列,只有一列是可访问的。当我使用mapp=>p0时,p1得到一个错误。感谢您的回复。在生产中,我们有版本1.4.2,而concat_ws不是该版本的一部分。但我可以选择两列,只有一列是可访问的。当我使用mapp=>p0时,p1得到一个错误。谢谢
selectedData.write
  .format("com.databricks.spark.csv")
  .option("header", "false")
  .save("some_path")
df.rdd.map(_.toSeq.map(_.toString).mkString(","))