修改:按要求添加详细信息
在运行一个用Scala编写的简单Spark代码时,在管理员模式的Windows 7 64位本地运行,执行总是以错误结束,如下所述。在抛出错误之前,代码会按预期(saveAsTextFile
)编写输出。
(根据谷歌搜索,其他人有同样的问题,但在代码末尾添加sc.stop()
,如另一个主板上的建议没有帮助。)
代码:
import org.apache.spark.SparkContext
import org.apache.spark.SparkConf
object Test {
def main(args: Array[String]) {
System.setProperty("hadoop.home.dir", "C:/prog/winutil/")
val inputFile1 = "./textinput.txt"
val conf = new SparkConf().setAppName("Testing")
val sc = new SparkContext(conf)
val data = sc.textFile(inputFile1)
val outputFile = "./output"
data.saveAsTextFile(outputFile)
sc.stop()
}
}
错误信息:
ERROR Utils: Exception while deleting Spark temp dir: [userpath]\AppData\Local\Temp\spark-a790ba3f-af1e-4d2b-80e8-4085caaad04b\userFiles
-904e004e-4ca2-43a8-8689-684cc401b827
java.io.IOException: Failed to delete: [userpath]\AppData\Local\Temp\spark
-a790ba3f-af1e-4d2b-80e8-4085caaad04b\userFiles-904e004e-4ca2-43a8-8689-684cc401
b827
at org.apache.spark.util.Utils$.deleteRecursively(Utils.scala:933)
at org.apache.spark.util.Utils$$anon$4$$anonfun$run$1$$anonfun$apply$mcV
$sp$2.apply(Utils.scala:181)
at org.apache.spark.util.Utils$$anon$4$$anonfun$run$1$$anonfun$apply$mcV
$sp$2.apply(Utils.scala:179)
at scala.collection.mutable.HashSet.foreach(HashSet.scala:79)
at org.apache.spark.util.Utils$$anon$4$$anonfun$run$1.apply$mcV$sp(Utils
.scala:179)
at org.apache.spark.util.Utils$$anon$4$$anonfun$run$1.apply(Utils.scala:
177)
at org.apache.spark.util.Utils$$anon$4$$anonfun$run$1.apply(Utils.scala:
177)
at org.apache.spark.util.Utils$.logUncaughtExceptions(Utils.scala:1618)
at org.apache.spark.util.Utils$$anon$4.run(Utils.scala:177)
答案 0 :(得分:0)
移动count()&在使用saveAsParquetFile保存镶木地板之前,在RDD上使用take()语句。所以在调用saveAsParquetFile之前尝试移动任何rdd.take()。