Java 停止上下文后如何重用spark RDD

Java 停止上下文后如何重用spark RDD,java,apache-spark,rdd,Java,Apache Spark,Rdd,我已经创建了一个RDD,下面是我的程序 public static void main(String[] args) throws JSONException, IOException, InterruptedException { SparkConf conf1 = new SparkConf().setAppName("SparkAutomation").setMaster("local"); app.run(conf1); } private

我已经创建了一个RDD,下面是我的程序

public static void main(String[] args) throws JSONException, IOException, InterruptedException {

         SparkConf conf1 = new SparkConf().setAppName("SparkAutomation").setMaster("local");

         app.run(conf1);

}


private void run(SparkConf conf) throws JSONException, IOException,    InterruptedException {
JavaSparkContext sc = new JavaSparkContext(conf);

getDataFrom(sc);
sc.stop();   

}

 void getDataFrom(JavaSparkContext sc) throws JSONException, IOException, InterruptedException {

JavaRDD<String> Data = sc.textFile("/path/to/File");

}
或者我必须将其保存到磁盘

  Data.persist(StorageLevel.DISK_ONLY());

如果需要重新启动Spark上下文,则在这两种情况下都无法重用该RDD。使用
RDD.persist保存的内容在Spark上下文之外无法访问。每个RDD都与单个Spark上下文相关联

如果您想停止上下文并启动一个新的上下文,请考虑使用诸如<代码> RDD.SaveStestFILE(“/Stult/RDD/PATH”)< /COD>之类的内容来持久化底层数据存储,然后使用<代码> SC.TreFrm(“/Stave/RDD/PATH”)< < /C> > < < /P>读取新的RDD中的新RDD。

  Data.persist(StorageLevel.DISK_ONLY());