如何在火花簇中维护全局信息?

时间:2015-03-28 08:36:32

标签: scala apache-spark global

看起来Spark中的信息依赖于SparkContext。

如果它停止(应用程序结束,并调用sc.stop()),则有关此应用程序的所有信息都将消失。

我的问题是,如何永久保存一些信息(从Spark群集开始直到群集停止。)?

例如,我想计算每个应用程序的jar文件的MD5。我试图在spark源代码中添加一个新类来维护这些信息。但每次提交新应用程序时,都会初始化此类,因此无法保留信息。

我还尝试在对象HashMap中添加org.apache.spark.depoly.master.Master(我认为这在所有群集的生命周期中都存在),但即使这样,它也会在每次启动时初始化新申请已提交。

那么,如何在Spark集群中维护全局信息?创建一个新类(如何和在哪里)?或者添加Map成员(在哪个类或对象中)?

1 个答案:

答案 0 :(得分:0)

使RDD在应用程序实例之间持久的方法是使用例如将其保存到文件系统中。 saveAsObjectFile()