Почему Spark - countByValue () вызывает исключение FileNotFoundException? - PullRequest
0 голосов
/ 26 сентября 2018

Я новичок в Spark, установил Spark на мой компьютер с Windows и выполняю команду spark в spark-shell.Создано просто RDD и найти нет.раз текст встречается.вот мой блок кода.это вызывает FileNotFound Exception.

scala>  val inputrdd = sc.parallelize{ Seq("a", "b", "c", "d","a","a") }
inputrdd: org.apache.spark.rdd.RDD[String] = ParallelCollectionRDD[70] at parallelize at <console>:24

scala>  inputrdd.count
res102: Long = 6

scala>  inputrdd.first
res103: String = a

scala>

scala>  inputrdd.countByValue()
2018-09-26 19:32:03 ERROR Executor:91 - Exception in task 5.0 in stage 72.0 (TID 113)
java.io.FileNotFoundException: C:\Users\hadoop\AppData\Local\Temp\blockmgr-910b1c57-9f3a-4dea-a80b-701ad0a32ead\1f\shuffle_6_5_0.data.6bac0b0d-93a6-4b57-a1d6-8dbe379c264f (The system cannot find the path specified)
        at java.io.FileOutputStream.open0(Native Method)
        at java.io.FileOutputStream.open(FileOutputStream.java:270)
        at java.io.FileOutputStream.<init>(FileOutputStream.java:213)
        at org.apache.spark.storage.DiskBlockObjectWriter.initialize(DiskBlockObjectWriter.scala:103)
        at org.apache.spark.storage.DiskBlockObjectWriter.open(DiskBlockObjectWriter.scala:116)
        at org.apache.spark.storage.DiskBlockObjectWriter.write(DiskBlockObjectWriter.scala:237)
        at org.apache.spark.util.collection.WritablePartitionedPairCollection$$anon$1.writeNext(WritablePartitionedPairCollection.scala:56)
        at org.apache.spark.util.collection.ExternalSorter.writePartitionedFile(ExternalSorter.scala:699)
        at org.apache.spark.shuffle.sort.SortShuffleWriter.write(SortShuffleWriter.scala:72)
        at org.apache.spark.scheduler.ShuffleMapTask.runTask(ShuffleMapTask.scala:96)
        at org.apache.spark.scheduler.ShuffleMapTask.runTask(ShuffleMapTask.scala:53)
        at org.apache.spark.scheduler.Task.run(Task.scala:109)
        at org.apache.spark.executor.Executor$TaskRunner.run(Executor.scala:345)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at java.lang.Thread.run(Thread.java:748)

1 Ответ

0 голосов
/ 26 сентября 2018

Вам нужно перезапустить тот же код с нуля, и он будет работать без проблем.

Причина: C:\Users\hadoop\AppData\Local\Temp\blockmgr-910b1c57-9f3a-4dea-a80b-701ad0a32ead как-то удалено.Он хранит временные данные, которые хранятся во время выполнения и которые были потеряны.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...