Я выполняю свой код в производственном процессе, и он выполняется в большинстве случаев успешно, но иногда он завершается с ошибкой:
catch exceptionorg.apache.spark.SparkException: Job aborted due to stage failure: Task 14 in stage 9.1 failed 4 times, most recent failure: Lost task 14.3 in stage 9.1 (TID 3825, xxxprd0painod02.xxxprd.local): java.io.FileNotFoundException: /data03/hadoop/yarn/local/usercache/user/appcache/application_xxxxxxx012345_70120/blockmgr-97546ecd-567d-4451-91dd-762744aadc2b/1e/temp_shuffle_fb43319d-8cec-43e1-b7f8-cda30410d36c (No such file or directory)
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.open(DiskBlockObjectWriter.scala:88)
at org.apache.spark.shuffle.sort.BypassMergeSortShuffleWriter.write(BypassMergeSortShuffleWriter.java:140)
at org.apache.spark.scheduler.ShuffleMapTask.runTask(ShuffleMapTask.scala:73)
at org.apache.spark.scheduler.ShuffleMapTask.runTask(ShuffleMapTask.scala:41)
at org.apache.spark.scheduler.Task.run(Task.scala:89)
at org.apache.spark.executor.Executor$TaskRunner.run(Executor.scala:227)
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)
Я пытался изменить память исполнителя, чтобы убедиться, что у нас достаточнопамяти, но все еще сталкивается с той же проблемой.
Есть мысли о том, как мы можем решить эту проблему?
Спасибо, Баб