Spark 中的 out.println() 对我不起作用。一切都在同一条线上

out.println() in Spark isn't working for me. Everything is staying on the same line

当我将完全相同的代码复制到 REPL 中时,它可以工作,但在 spark shell for scala 中,它写入文本文件,但不是在单独的行上。

val out = new PrintWriter("TestAverages.txt")
for(i <- 0 to 10) out.println(i)
out.close()

它给了我 12345678910 的火花,但是代码在 scala repl 中工作。

既然您提到您使用了 Windows,我知道是什么原因造成的。 PrintWriter.println的行为:行分隔符字符串由系统定义属性line.separator,不一定是单个换行符.

所以不要写:

for(i <- 0 to 10) out.println(i)

同样去:

for(i <- 0 to 10) out.print(i + "\r\n")

记得我添加了“\r\n”,这意味着 CR+LF 所以打印出来的换行符与平台无关。