将Apache Livy与spark-jobserver进行比较

时间:2018-02-18 18:56:19

标签: apache-spark spark-jobserver livy

我知道Apache Livy是从任何地方与spark交互的休息界面。那么使用Apache Livy而不是spark-jobserver有什么好处呢。使用Livy作为替代方案的spark-jobserver有什么缺点。我在互联网上找不到这个。能否请你帮我澄清一下。

谢谢,

2 个答案:

答案 0 :(得分:2)

与我的用例相关的主要差异有几个。

Livy的优势

  • Livy不需要对代码进行任何更改,而SJS作业必须扩展特定的类。
  • Livy允许提交代码片段以及预编译的jar,而SJS仅接受jar。
  • 除REST外,Livy还具有Java和Scala API。 Python API正在开发中,SJS具有“ python绑定”

SJS优势:

  • SJS也可以管理jar。它允许您上载和存储Jar,然后通过单独的REST调用从这些jar部署作业。无论何时需要部署作业,Livy都需要jar。
  • 可以使用HOCON格式配置SJS作业,可以将其作为REST调用的一部分提交。

此外,SJS具有更好的文档,尽管在两种情况下它都不全面。 当然,请记住,这两个项目都是v1之前的版本,因此情况可能会迅速改变。

在我的情况下,由于我没有提交片段的需要,因此最终使用了SJS,并且Jar管理和HOCOCN配置派上了用场。但是,我正在考虑在不久的将来再次访问Livy,以进行更彻底的评估。

来源:

答案 1 :(得分:0)

截至2018年9月,Livy和(Ooyala)Spark作业服务器之间的唯一主要区别是以下事实:尽管(当前版本的)Livy是针对Spark 2.2.0构建的,但运行时使用的Spark版本Livy不需要匹配用于构建Livy的版本。 Livy internally handles the differences between different Spark versions.

此行为不同于Spark Job-server,后者具有tight coupling及其构建的Spark版本。