如何调整Spark DataFrame的输出为指定逗号分隔格式
解决方法
Spark的show()方法默认输出带边框的格式化表格,要得到你需要的逗号分隔无框格式,可根据使用场景选择以下两种方案:
方案1:直接在控制台打印目标格式
适合小数据量下直接查看结果,替换代码中finalOutput.show()的部分即可:
// 打印表头 println("owner_id,count") // 遍历每一行拼接打印 finalOutput.collect().foreach(row => { val ownerId = row.getAs[Int]("owner_id") val cnt = row.getAs[Long]("count") println(s"$ownerId,$cnt") })
注意:collect()会将所有数据拉取到Driver节点内存,数据量过大时不要使用该方案。
方案2:直接输出为CSV文件
如果需要持久化结果,直接调用Spark原生的CSV写出API即可:
finalOutput.write .option("header", "true") // 输出表头 .option("delimiter", ",") // 指定分隔符为逗号 .mode("overwrite") // 覆盖已存在的文件,可根据需求调整为append等 .csv("你的输出目录路径")
内容的提问来源于stack exchange,提问作者rahul sharma
相关产品推荐
相关产品推荐

