Apache zepplin spark job比spark-submit运行得更快

时间:2016-12-27 21:01:22

标签: scala apache-spark apache-zeppelin

我想知道为什么我在Zepplin段落中写的spark作业执行速度比运行spark-submit自己要快得多?

我基本上在Zepplin和spark-submit中使用相同的配置(执行程序,内存),但执行时间有很大的差异。

两者都在相同的独立火花群上运行。

有什么可以解释这种差异?

1 个答案:

答案 0 :(得分:1)

我可以想到有两件事可能会导致这种情况。

  1. 使用zappelin时,您已经拥有了可能正在使用的spark上下文。当你做一个spark-submit你创建一个新的,需要一些时间。
  2. 即使您的计时折扣了火花环境(例如您只计算实际工作的时间),在zappelin中您可能会在当前工作之前完成其他工作。这些可能导致各种缓存发生。一些例子包括:

    • OS / hadoop可能会缓存您正在阅读的文件,因为您在之前的单元格中阅读了这些文件
    • 您可能正在进行某项RDD之前的洗牌,因此它已缓存
    • 您可能有一个显式缓存
    • 您可能有一个用于连接的数据框已在前一个单元格中正确分区
    • 列表继续......