Как изменить каталог для временных файлов Spark в CPD?
Я выполняю задание по отправке искр в кластере cdp. Он запрашивает таблицу улья. Однако у меня возникает ошибка нехватки памяти.
java.io.FileNotFoundException:
/yarn/nm/usercache/user/appcache/application_1620028396811_0012/blockmgr-78f19d46-d28e-412a-b1e4-
a01fcee19760/24/temp_shuffle_b3524917-86b1-4868-b8c1-87eb1658f14b (No space left on device)
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.scheduler.ShuffleMapTask.runTask(ShuffleMapTask.scala:99)
at org.apache.spark.scheduler.ShuffleMapTask.runTask(ShuffleMapTask.scala:55)
at org.apache.spark.scheduler.Task.run(Task.scala:123)
at org.apache.spark.executor.Executor$TaskRunner$$anonfun$10.apply(Executor.scala:408)
at org.apache.spark.util.Utils$.tryWithSafeFinally(Utils.scala:1289)
at org.apache.spark.executor.Executor$TaskRunner.run(Executor.scala:414)
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)`
Файлы в случайном порядке создаются в корневом каталоге узлов данных. Мне нужно изменить его на другой каталог на узле драйвера, так как здесь больше места. Как я могу это изменить?
Это используемая команда spark-submit
spark-submit --master yarn-client --conf "spark.local.dir=/data01/spark-logs/" --num-executors 9 --
driver-memory 4096m --executor-memory 5120m --executor-cores 2 query10.py
версия используемой искры: 2.4