Java 停止上下文后如何重用spark RDD
我已经创建了一个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
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());