我有一个简单的火花代码,我使用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)
在这里,如果我正在读同一个文件,那么当我第二次执行它时,它应该从缓存中获取数据,但它不会从缓存中获取数据。
有什么办法可以在多个火花作业中共享缓存数据吗?
答案 0 :(得分:1)
是 - 通过在您获得的RDD上调用persist / cache并在相同的上下文中提交其他作业