在Unix shell脚本中捕获spark返回码

时间:2015-10-28 11:36:20

标签: bash scala unix apache-spark

如何捕获spark-submit作业的返回代码,我编写了一个shell脚本来传递参数并使用我的spark类运行spark submit,我使用下面的代码来捕获返回代码,但它不起作用.Run spark是一个函数在我的shell脚本中运行带有spark类和参数的spark提交。

RunSpark

ret_code=$?
if [[ ${ret_code} != 0 ]]; then
   exit ${ret_code} "Issue while executing spark class ${spark_class}"
fi

exit 0 echo "Script ran ok !"

2 个答案:

答案 0 :(得分:1)

除了错误的比较运算符-ne之外,echo和exit是单独的命令,它们不能在同一行。你也应该在退出之前调用echo,否则脚本将不会打印任何内容。这应该有效:

# generating random numbers from 0 to 3, just for testing purposes                                                                                                       
ret_code=$(( ( RANDOM % 4 )  ))

if [[ ${ret_code} -ne 0 ]]; then
    echo "Issue while executing spark class ${spark_class}"
    exit ${ret_code}
fi

echo "Script ran ok !"
exit 0

答案 1 :(得分:0)

您正在使用字符串比较运算符!=而不是数字-ne

应该是

if [[ ${ret_code} -ne 0 ]]; then