我创建了一个 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");
}
Run Code Online (Sandbox Code Playgroud)
我想在应用程序的其他部分使用上面创建的 RDD,我必须停止上下文,我需要创建另一个 Context,并将在那里使用上面的 RDD。我的问题是,如果我将 RDD 坚持到 Memory ,我能使用它吗?
Data.persist(StorageLevel.MEMORY_ONLY());
Run Code Online (Sandbox Code Playgroud)
或者我是否必须将其保存到磁盘。
Data.persist(StorageLevel.DISK_ONLY());
Run Code Online (Sandbox Code Playgroud)