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 所以打印出来的换行符与平台无关。
当我将完全相同的代码复制到 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 所以打印出来的换行符与平台无关。