我有一个用java编写的火花流应用。
如果驱动程序尚未在预定义的时间间隔内完成流批批次,我想重新启动。
从驱动程序代码中抛出异常而不实现计时器时,YARN会按预期重新启动应用程序。尝试添加计时器(需要在与驱动程序不同的线程中)并在分配时间通过纱线后抛出例外情况并不会重新启动驱动程序。我的猜测是,需要从驱动程序线程中抛出例外。
有什么方法可以实现这一目标?
- 如果使用非零退出代码失败,则使用监督来确保驱动程序会自动重新启动。
https://spark.apache.org/docs/latest/submitting-applications.html