spark-sumbit返回状态为0的问题

spark是一个实时的分布式计算引擎,在大叔据领域属于后起之秀,表现非凡,但是spark在使用的过程中也存在不少问题,这里主要说一下spark-sumbit的问题。

spark-sumbit是spark提交任务的一个脚本,这个脚本提交的任务可能失败也可能成功,但是spark-sumbit这个脚本总是执行成功的,也就是说我们不能根据spark-sumbit 来判断我们提交的任务是否成功了,这是个比较大的问题,官方描述如下:

https://issues.apache.org/jira/browse/SPARK-2167

spark-submit script and Java class should exit with 0 for success and non-zero with failure so that other command line tools and workflow managers (like oozie) can properly tell if the spark app succeeded or failed.

 目前这个问题在新发布的spark1.1.1中已经解决具体解决的代码参考一下链接:

https://github.com/apache/spark/pull/1788/files

但是根据目前测试的情况来看,spark-sumbit还是不能准确捕获退出状态,在经过spark上下文环境之后中间异常推出返回状态依然是0,所以这个bug虽然有修复但是还没有彻底修复!

其实这个需要在我们自己的代码中抛出异常才可以,使用exit退出程序spark捕获不到推出状态。

相关推荐