【发布时间】:2020-07-28 18:09:36
【问题描述】:
我有一个进程(在 scala 中)在 spark 集群中运行,它处理一些数据、上传结果并更新处理状态。我希望上传和处理状态更新是原子操作,因为状态对于恢复工作和避免双重处理至关重要。每当我们想要更新 jar 时,都需要定期终止正在运行的作业并启动一个新作业。在终止作业时,我想处理原子操作并在上传之前优雅地退出或等待上传和处理状态更新完成。怎样才能达到同样的效果?如果我们使用 yarn API 来终止应用程序,它可能会突然从不一致的状态退出。最好的解决方法是什么?
【问题讨论】:
标签: scala apache-spark rdd hadoop-yarn livy