持续存在后不要看Spark RDD

时间:2015-10-18 01:47:43

标签: apache-spark rdd persist tmp

我使用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在哪里?

1 个答案:

答案 0 :(得分:0)

来自scaladoc of RDD.persist()

  

设置此RDD的存储级别,以便在第一次计算后将其值保持在操作之间。如果RDD尚未设置存储级别,则此选项仅可用于分配新的存储级别。本地检查点是一个例外。

因此,您已在result.count()上方的行上调用result.persist(),然后Spark已将result的持久性设置为默认值。删除count操作,然后重试。