我正在提交一个pyspark作业,在yarn的客户机模式下使用spark提交。
spark-submit \
--name $APP_NAME \
--master yarn \
--deploy-mode client \
--num-executors 16 \
--executor-cores 1 \
--driver-memory 6g \
--executor-memory 2g \
--py-files myfile.py
--version 2.3
这项工作成功完成,我可以在Spark历史以及从Yarn验证。即使在作业完成之后,我仍然看到spark提交进程正在运行,并且它不会终止。
我想从调用submit作业的调用程序(jenkins使用publishoverssh插件)返回一个作业状态。有没有办法确保spark提交过程在完成作业后以正确的退出代码终止?
我尝试过停止spark上下文并将exit状态放在python脚本的末尾。这还是不行。
sc.stop()
sys.exit(0)
这种情况通常随机发生在长时间运行的作业中。我认为集群模式没有任何问题。
1条答案
按热度按时间icomxhvb1#
您可以编写unixshell脚本,然后可以通过$?
然后可以检查状态并添加条件