我使用shell脚本提交我的spark作业,我想知道我的spark作业是否成功完成。如果spark job成功完成,那么我想对HDFS中的job写入的数据执行一些操作,否则退出shell脚本。
答案 0 :(得分:1)
使用Spark REST API,您可以获取Submitted Spark应用程序的状态。
Spark文档摘录:
在API中,应用程序通过其应用程序ID [app-id]进行引用。在YARN上运行时,每个应用程序可能会进行多次尝试,但是仅针对集群模式下的应用程序具有尝试ID,而客户端模式下的应用程序没有ID。 YARN群集模式下的应用程序可以通过其[attempt-id]进行标识。在下面列出的API中,以YARN群集模式运行时,[app-id]实际上将是[base-app-id] / [attempt-id],其中[base-app-id]是YARN应用程序ID。 / p>
对于正在运行的应用程序:http://localhost:4040/api/v1 对于历史记录服务器:http://:18080 / api / v1
?status = [active | complete | pending | failed]仅列出处于该状态的阶段。
答案 1 :(得分:0)
如果您通过shell脚本提交,只需通过$?
检查命令的状态,然后继续执行后续步骤。
./spark-submit ......
if [ $? -eq 0 ];then
#DosomethingHere
else
#DoSomethingHere
fi