java - Spark 删除临时目录失败

标签 java apache-spark bigdata

我正在尝试使用以下提到的命令从 Windows 10 中的 cmd 提交 spark 程序:

spark-submit --class abc.Main --master local[2] C:\Users\arpitbh\Desktop\AmdocsIDE\workspace\Line_Count_Spark\target\Line_Count_Spark-0.0.1-SNAPSHOT.jar

但运行此后我收到错误:
17/05/02 11:56:57 INFO ShutdownHookManager: Deleting directory C:\Users\arpitbh\AppData\Local\Temp\spark-03f14dbe-1802-40ca-906c-af8de0f462f9
17/05/02 11:56:57 ERROR ShutdownHookManager: Exception while deleting Spark temp dir: C:\Users\arpitbh\AppData\Local\Temp\spark-03f14dbe-1802-40ca-906c-af8de0f462f9
java.io.IOException: Failed to delete: C:\Users\arpitbh\AppData\Local\Temp\spark-03f14dbe-1802-40ca-906c-af8de0f462f9
        at org.apache.spark.util.Utils$.deleteRecursively(Utils.scala:1010)
        at org.apache.spark.util.ShutdownHookManager$$anonfun$1$$anonfun$apply$mcV$sp$3.apply(ShutdownHookManager.scala:65)
        at org.apache.spark.util.ShutdownHookManager$$anonfun$1$$anonfun$apply$mcV$sp$3.apply(ShutdownHookManager.scala:62)
        at scala.collection.IndexedSeqOptimized$class.foreach(IndexedSeqOptimized.scala:33)
        at scala.collection.mutable.ArrayOps$ofRef.foreach(ArrayOps.scala:186)
        at org.apache.spark.util.ShutdownHookManager$$anonfun$1.apply$mcV$sp(ShutdownHookManager.scala:62)
        at org.apache.spark.util.SparkShutdownHook.run(ShutdownHookManager.scala:216)
        at org.apache.spark.util.SparkShutdownHookManager$$anonfun$runAll$1$$anonfun$apply$mcV$sp$1.apply$mcV$sp(ShutdownHookManager.scala:188)
        at org.apache.spark.util.SparkShutdownHookManager$$anonfun$runAll$1$$anonfun$apply$mcV$sp$1.apply(ShutdownHookManager.scala:188)
        at org.apache.spark.util.SparkShutdownHookManager$$anonfun$runAll$1$$anonfun$apply$mcV$sp$1.apply(ShutdownHookManager.scala:188)
        at org.apache.spark.util.Utils$.logUncaughtExceptions(Utils.scala:1951)
        at org.apache.spark.util.SparkShutdownHookManager$$anonfun$runAll$1.apply$mcV$sp(ShutdownHookManager.scala:188)
        at org.apache.spark.util.SparkShutdownHookManager$$anonfun$runAll$1.apply(ShutdownHookManager.scala:188)
        at org.apache.spark.util.SparkShutdownHookManager$$anonfun$runAll$1.apply(ShutdownHookManager.scala:188)
        at scala.util.Try$.apply(Try.scala:192)
        at org.apache.spark.util.SparkShutdownHookManager.runAll(ShutdownHookManager.scala:188)
        at org.apache.spark.util.SparkShutdownHookManager$$anon$2.run(ShutdownHookManager.scala:178)
        at org.apache.hadoop.util.ShutdownHookManager$1.run(ShutdownHookManager.java:54)

我也检查了apache spark的JIRA,这个缺陷已经被标记为已解决,但没有提到解决方案。请帮忙。
package abc;

import org.apache.spark.SparkConf;
import org.apache.spark.api.java.JavaRDD;
import org.apache.spark.api.java.JavaSparkContext;


public class Main {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub

        SparkConf conf =new SparkConf().setAppName("Line_Count").setMaster("local[2]");
        JavaSparkContext ctx= new JavaSparkContext(conf);

        JavaRDD<String> textLoadRDD = ctx.textFile("C:/spark/README.md");
        System.out.println(textLoadRDD.count());
        System.getProperty("java.io.tmpdir");

    }

}

最佳答案

这可能是因为您在没有 SPARK_HOME 或 HUPA_HOME 的情况下实例化 SparkContext,这允许程序在 bin 目录中找到 winutils.exe。我发现当我从

SparkConf conf = new SparkConf();
JavaSparkContext sc = new JavaSparkContext(conf);


JavaSparkContext sc = new JavaSparkContext("local[*], "programname", 
System.getenv("SPARK_HOME"), System.getenv("JARS"));

错误消失了。

关于java - Spark 删除临时目录失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43731967/

相关文章:

Python 读取大型 txt 文件时出现 "Invalid Argument"错误

ruby - 在 ruby​​ 中处理具有多个重复项的大量数据

java - 非法参数异常 : Cannot draw recycled bitmaps by recreatign activity

java - Selenium webdriver 如何单击列表中的按钮

python - Pyspark CSV 到 RDD 到坐标矩阵

hadoop - Spark 不利用 parquet 的 hdfs 分区

python - 如何删除 pyspark 中的特殊字符、unicode 表情符号?

java - 记录url导航历史记录

java - 在 Java 中抛出异常是否昂贵?

在 R 中将大型数据框从宽变为长