可否让spark算子执行到某一步时,通过某些控制条件,让整个spark程序停止,或者在那一步保存结果到文件?

有这么一个需求:让rdd1执行map(或其他算子),当出现满足条件的情况时,控制整个spark程序停止,或是保存停止结果到文件(优先保存结果到文件),而不继续执行后续步骤

//示例,大概就是这么一个意思:当出现值为5的行,停止程序或是保存结果
 val rdd2 = rdd1.map(x =>{
            if(x==5){
                    //整个spark程序停止,或是保存停止结果到文件
            }   
            ...........
     }
 )

rdd2.count()

请问有什么可以实现的方法吗?