我有一个Apache Spark MLlib Java应用程序,应该在群集上运行很多次,输入值不同。是否可以在集群上缓存应用程序jar并重用它以减少启动时间,网络负载和组件耦合?
使用过的集群管理器有什么不同吗?
如果缓存了应用程序jar,是否可以在我的应用程序的不同实例中使用相同的RDD缓存?
答案 0 :(得分:3)
Vainilla Spark无法做到这一点(在撰写本文时--Spark正在快速发展)。
Ooyala贡献的Spark-JobServer完全满足您的需求。它为jar提供了一个寄存器,用于顺序作业提交,并提供额外的工具来按名称缓存RDD。请注意,在Spark Cluster上,Spark-JobServer充当Spark驱动程序。在执行给定任务时,工作人员仍需要从驱动程序加载jar。