我使用Spark 1.2.0并且没有明确配置SPARK_LOCAL_DIRS,因此假设持久的RDD会转到/ tmp。我尝试使用以下代码继续和RDD:
val inputRDD=sc.parallelize(List(1,2,3,3,4,5,6,7,8,9,19,22,21,25,34,56,4,32,56,70))
val result = inputRDD.map(x=>x*x)
println("Result count is: "+result.count())
result.persist(StorageLevel.DISK_ONLY)
println(result.collect().mkString(",,"))
println("Result count is: "+result.count())
我在持久化之前和之后对我的RDD强制执行count()只是为了确定但是我仍然没有在/ tmp中看到任何新文件或目录。我运行代码时唯一更改的目录是hsperfdata ....我知道它是针对JVM perf数据的。
我坚持不懈的RDD在哪里?
答案 0 :(得分:0)
设置此RDD的存储级别,以便在第一次计算后将其值保持在操作之间。如果RDD尚未设置存储级别,则此选项仅可用于分配新的存储级别。本地检查点是一个例外。
因此,您已在result.count()
上方的行上调用result.persist()
,然后Spark已将result
的持久性设置为默认值。删除count
操作,然后重试。