从 Java 中的另一个应用程序部署 Apache Spark 应用程序,最佳实践

2024-06-23

我是 Spark 的新用户。我有一个 Web 服务,允许用户请求服务器通过读取数据库并将结果推送回数据库来执行复杂的数据分析。我已将这些分析转移到各种 Spark 应用程序中。目前我使用spark-submit来部署这些应用程序。

但是,我很好奇,当我的 Web 服务器(用 Java 编写)收到用户请求时,启动相应 Spark 应用程序的“最佳实践”方式是什么? Spark 的文档似乎是使用“spark-submit”,但我不想将命令通过管道输出到终端来执行此操作。我看到了一个替代方案 Spark-JobServer,它提供了一个 RESTful 接口来完成此任务,但我的 Spark 应用程序是用 Java 或 R 编写的,这似乎与 Spark-JobServer 不能很好地交互。

是否有另一种最佳实践从 Web 服务器(Java 中)启动 Spark 应用程序,并等待状态结果,无论作业成功还是失败?

任何关于其他人正在做什么来实现这一目标的想法都会非常有帮助!谢谢!


我也有过类似的要求。这就是我所做的:

  1. 为了提交应用程序,我使用隐藏的 Spark REST 提交 API:http://arturmkrtchyan.com/apache-spark-hidden-rest-api http://arturmkrtchyan.com/apache-spark-hidden-rest-api

  2. 使用相同的 API,您可以查询司机的状态,也可以稍后终止您的工作

  3. 还有另一个隐藏的 UI Json API:http://[master-node]:[master-ui-port]/json/ http://%5Bmaster-node%5D:%5Bmaster-ui-port%5D/json/它以 JSON 格式公开主 UI 上可用的所有信息。

使用“提交 API”我提交驱动程序并使用“主 UI API”我等到我的驱动程序和应用程序状态为“运行”

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从 Java 中的另一个应用程序部署 Apache Spark 应用程序,最佳实践 的相关文章

随机推荐