看起来星火中的信息依赖于SparkContext。
如果它停止(应用程序结束,并调用sc.stop()),则有关此应用程序的所有信息都将消失。
我的问题是,我如何永久地维护一些信息(从Spark集群开始到集群停止)?
例如,我想计算每个应用程序的jar文件的MD5。我已经尝试在spark源代码中添加一个新类来维护此信息。但是每次提交新的申请时,这个类都会被初始化,所以信息不能被保留。
我还尝试在对象org.apache.spark.depoly.master.Master中添加一个HashMap (我认为这在所有集群的生命周期中都是有效的),但即使这样,每次提交新的应用程序时,它也会被初始化。
那么,如何在Spark集群中维护全局信息呢?创建一个新类(如何创建,在哪里创建)?或者添加Map成员(在哪个类或对象中)?
发布于 2015-03-28 20:05:29
使RDD跨应用程序实例持久的方法是使用例如saveAsObjectFile()将其保存到文件系统
https://stackoverflow.com/questions/29315196
复制相似问题