Apache spark 在oozie中,当spark操作由于捕获错误而不会导致错误时,如何处理spark操作
我有一个具有try/catch/finally块的spark应用程序。在finally块中,我正在写入审计表Apache spark 在oozie中,当spark操作由于捕获错误而不会导致错误时,如何处理spark操作,apache-spark,oozie,Apache Spark,Oozie,我有一个具有try/catch/finally块的spark应用程序。在finally块中,我正在写入审计表 main{ try {} catch {} finally { write to audit table sparkSession.close() } } 同样地,当应用程序抛出一个在catch块中成功捕获的异常时,应用程序不会出错,而是简单地写入审计表并关闭spark会话。因此,存在这样一种情况,即应用程序将在不实际完成任务的情况下完成,并且在成功捕获错误时
main{
try {}
catch {}
finally {
write to audit table
sparkSession.close()
}
}
同样地,当应用程序抛出一个在catch块中成功捕获的异常时,应用程序不会出错,而是简单地写入审计表并关闭spark会话。因此,存在这样一种情况,即应用程序将在不实际完成任务的情况下完成,并且在成功捕获错误时会发生这种情况
我试图将此应用程序包含在oozie工作流中的spark操作中,并具有从属操作。仅当前面的应用程序成功完成时,从属操作才应运行。所以我的问题是什么是最好的方法
我的第一个想法是为spark应用程序提供一个非零状态代码,以防捕捉到错误,但我想知道这是一种方法,还是有更好的方法来处理oozie特有的问题
一个更普遍的问题是oozie如何“知道”某个操作导致了错误/成功
谢谢,,
_SD