我有一个简单的火花代码,我在其中读取一个文件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 作业之间共享缓存的数据?