我正在编写一个 spark 应用程序并使用 spark-submit shell 脚本运行它(使用 yarn-cluster/yarn-client)
正如我现在看到的,spark-submit 的退出代码是根据相关的纱线应用程序决定的——如果 SUCCEEDED 状态为 0,否则为 1。
我希望可以选择返回另一个退出代码 - 对于我的应用程序成功但出现一些错误的状态。
可能吗?从应用程序返回不同的退出代码?
我尝试使用 System.exit() 但没有成功...
谢谢。
我正在编写一个 spark 应用程序并使用 spark-submit shell 脚本运行它(使用 yarn-cluster/yarn-client)
正如我现在看到的,spark-submit 的退出代码是根据相关的纱线应用程序决定的——如果 SUCCEEDED 状态为 0,否则为 1。
我希望可以选择返回另一个退出代码 - 对于我的应用程序成功但出现一些错误的状态。
可能吗?从应用程序返回不同的退出代码?
我尝试使用 System.exit() 但没有成功...
谢谢。
在客户端模式下是可能的,但在集群模式下是不可能的。您有集群模式的解决方法。
我对这个问题的回答应该对你有所帮助。
如果在集群模式下运行,spark-submit 会立即结束,将提交 ID 作为 json 的一部分返回,并且不等待应用程序状态。在此之后,您可以通过以下方式查询状态
spark-submit --status [submission ID]
如果在本地或独立模式下运行,您应该能够从 spark-submit 过程中获得退出代码。