18

我知道 Apache Livy 是用于从任何地方与 spark 交互的其余接口。那么使用 Apache Livy 代替 spark-jobserver 有什么好处。使用 Livy 作为替代方案的 spark-jobserver 有哪些缺点。我在互联网上找不到太多关于此的内容。你能帮我弄清楚这一点吗?

谢谢,

4

2 回答 2

7

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

利维的优势:

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

SJS优势:

  • SJS 也可以管理罐子。它允许您上传和存储 jar,然后使用单独的 REST 调用从这些 jar 部署作业。每当您需要部署作业时,Livy 都需要该 jar。
  • SJS 作业可以配置为 HOCON 格式,该格式可以作为 REST 调用的一部分提交。

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

就我而言,我们最终选择了 SJS,因为我不需要提交代码片段,而 Jar 管理和 HOCOCN 配置就派上用场了。但是,我正在考虑在不久的将来重新访问 Livy,以进行更全面的评估。

资料来源:

于 2019-01-30T14:58:42.107 回答
4

截至 2018 年 9 月,Livy 和(Ooyala)Spark 作业服务器之间的唯一主要区别在于,尽管(当前版本)Livy 是针对 Spark 2.2.0 构建的,但运行 Livy 时使用的 Spark 版本并没有需要匹配用于构建 Livy 的版本。Livy 在内部处理不同 Spark 版本之间的差异。

这种行为与 Spark Job-server 不同,后者与构建它的 Spark 版本紧密耦合。

于 2018-09-27T17:38:17.777 回答