2

我有一个简单的火花代码,我在其中读取一个文件SparkContext.textFile(),然后对该数据进行一些操作,并spark-jobserver用于获取输出。在代码中,我正在缓存数据,但在作业结束后我spark-job再次执行,然后它不会采用缓存中已经存在的同一个文件。因此,每次加载文件都需要更多时间。

示例代码如下:

val sc=new SparkContext("local","test")
val data=sc.textFile("path/to/file.txt").cache()
val lines=data.count()
println(lines)

在这里,如果我正在读取同一个文件,那么当我第二次执行它时,它应该从缓存中获取数据,但它不会从缓存中获取数据。

有什么方法可以在多个 Spark 作业之间共享缓存的数据?

4

1 回答 1

1

是的 - 通过调用你得到的 RDD 上的 persist/cache 并在同一上下文中提交额外的作业

于 2015-07-27T10:15:38.707 回答