【问题标题】:Scala println() in zeppelin paragraph doesn't print while regular print() prints wellzeppelin 段落中的 Scala println() 不打印,而常规 print() 打印良好
【发布时间】:2019-10-21 00:20:52
【问题描述】:

在 zeppelin notebook 上,使用 working spark/scala 解释器,我正在尝试做最简单的任务:

println("Hello World");

当我运行它时,我在输出部分得到空白(什么都没有!)。
另一方面,当我只使用

print("Hello World");

没有 ln,它可以打印。
任何想法?提前致谢。

【问题讨论】:

  • 那段你还有什么?
  • 什么都没有,只是两个箱子上的普通印刷品。
  • 这可能是 Zeppelin 中的解释问题;它可能只在其输出中显示当前行。看看stdout/stderr,输出应该和预期的一样。
  • @Sai 在我运行 zeppelin 的控制台中,我看到一个:“从 RemoteInterpeter 进程接收消息”,带有一个 RemoteInterpeterEvent,类型为:OUTPUT_APPEND,其中包含 println 结果。虽然看得出来,但并不理想,开发难度很大。知道如何解决吗?
  • this 的可能重复项

标签: scala apache-spark apache-zeppelin


【解决方案1】:

对我来说,这种外观与驱动程序或执行程序中的标准输出有关,而不是与使用的特定指令有关(因为在那种情况下会很奇怪)。

至少我的 zeppelin 实例(我在 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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-06
    • 2022-01-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多