齐柏林飞艇段落中的Scala println()不';t打印,而常规打印()打印效果良好

齐柏林飞艇段落中的Scala println()不';t打印,而常规打印()打印效果良好,scala,apache-spark,apache-zeppelin,Scala,Apache Spark,Apache Zeppelin,在齐柏林飞艇笔记本上,使用工作的spark/scala解释器,我正在尝试完成最简单的任务: println("Hello World"); 当我运行它时,我在输出部分得到空白(没有!)。 另一方面,当我只使用 print("Hello World"); 如果没有ln,则打印正常。 有什么想法吗?提前感谢。对我来说,这种外观与驱动程序或执行程序中的stdout有关,而与使用的特定指令无关(因为在这种情况下会非常奇怪) 至少我的齐柏林飞艇实例(我在EMR上)只是在驱动程序的标准输出中打印语句,所

在齐柏林飞艇笔记本上,使用工作的spark/scala解释器,我正在尝试完成最简单的任务:

println("Hello World");
当我运行它时,我在输出部分得到空白(没有!)。
另一方面,当我只使用

print("Hello World");
如果没有ln,则打印正常。

有什么想法吗?提前感谢。

对我来说,这种外观与驱动程序或执行程序中的stdout有关,而与使用的特定指令无关(因为在这种情况下会非常奇怪)

至少我的齐柏林飞艇实例(我在EMR上)只是在驱动程序的标准输出中打印语句,所以打印位置很重要

我有一个类似的问题,但这是因为我的打印在一个数据帧foreach中,因此在执行器中执行,而不是在驱动程序中执行

例如:

val dataset = spark.read.parquet(...)

println("This will be appeard")

dataset.foreach(println(_))
 //you won't see this since the print will happen in the executors


dataset.take(1).foreach(println(_))
//you should see this since happen in the driver after collecting the result

试着看看你是否在做类似的事情。

那一段中你还有什么其他内容?没有,只是两种情况下的普通印刷品。这可能是齐柏林飞艇的一个解释问题;它可能只是在输出中显示当前行。查看一下stdout/
stderr
,输出应该如预期的那样在那里。@Sai在我运行齐柏林飞艇的控制台中,我看到一个“从RemoteInterpeter进程接收消息”,带有一个类型为:output\u APPEND的RemoteInterpeterEvent,其中包含println结果。虽然我可以看到,但它并不理想,这使得发展非常困难。知道我该怎么修吗?可能是