gpt4 book ai didi

apache-spark - Spark Scala 中的数据帧到 HDFS

转载 作者:行者123 更新时间:2023-12-05 08:57:16 25 4
gpt4 key购买 nike

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

谢谢

最佳答案

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

import org.apache.spark.sql.functions.{concat_ws, col}
import org.apache.spark.sql.Row

val expr = concat_ws(",", df.columns.map(col): _*)
df.select(expr).map(_.getString(0)).saveAsTextFile("some_path")

或者更好地使用 spark-csv:

selectedData.write
.format("com.databricks.spark.csv")
.option("header", "false")
.save("some_path")

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

df.rdd.map(_.toSeq.map(_.toString).mkString(","))

然后保存。

关于apache-spark - Spark Scala 中的数据帧到 HDFS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34361222/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com