4

我将尝试解释我的简化用例。有:

  1. 计算单词的 Spark 应用程序。
  2. 使用表单为网页提供服务的 Web 服务器。
  3. 可以在此表单中键入单词并提交的用户。

服务器接收到这个词并将其发送到 Spark 应用程序。Spark 应用程序根据一些数据将这个词作为输入,然后这个词启动一个重新计算的作业。一旦 Spark 完成计算,它会将结果发送到 Web 服务器,该服务器会在网页上显示结果。

问题是,我如何在 Spark 应用程序和 Web 服务器之间建立通信?

我想,spark-jobserver 或 spark-streaming 可以在这里帮助我,但我不确定。

4

1 回答 1

3

有一些项目可以帮助您解决这个问题。

通常,您运行一个单独的网络服务器来管理 spark 作业,因为在 spark-submit cli 周围有一些凌乱的 systemExec 工作来完成此操作。显然,它运行在与您的主应用程序不同的端口上,并且只能由主 Web 应用程序的服务器组件访问。

有一些开源项目可以为您处理这个问题,最值得注意的是:

https://github.com/spark-jobserver/spark-jobserver

https://github.com/cloudera/livy

于 2016-06-17T21:24:39.987 回答