У меня есть следующая файловая структура, если я использую df -h на любом из подчиненных или ведущих устройств
Filesystem Size Used Avail Use% Mounted on
/dev/xvda1 7.9G 4.4G 3.5G 57% /
tmpfs 7.4G 4.0K 7.4G 1% /dev/shm
/dev/xvdb 37G 3.3G 32G 10% /mnt
/dev/xvdf 37G 2.0G 34G 6% /mnt2
/dev/xvdv 500G 33M 500G 1% /vol0
Мой spark-env.sh выглядит так
export SPARK_WORKER_DIR="/vol0"
export SPARK_WORKER_CORES=2
export SPARK_WORKER_OPTS="-Dspark.local.dir=/vol0"
export SPARK_LOCAL_DIRS="/vol0/"
Но все же я получаю сообщение об ошибке «Нет свободного места на устройстве», и задание прерывается во время сохранения файлов.
У меня есть один набор данных с 200 файлами по 1 ГБ каждый и другой набор данных с 200 файлами по 45 МБ каждый. Я присоединяюсь к ним и сохраняю в новый файл в s3.
DataFrame dataframe1= sqlContext.read().format("json").json(outputGrowth).coalesce(50);
dataframe1.registerTempTable("dataframe1");
DataFrame dataframe2 = sqlContext.read().format("json").json(pdiPath);
dataframe2.registerTempTable("dataframe2");
//Joining two tables
String query = "join dataframe1 and dataframe2";
DataFrame resultPDI = sqlContext.sql(query);
dataPDI.unpersist();
growthData.unpersist();
resultPDI.write().mode("overwrite").json(outputPDI);
Итак, как мне настроить искру для хранения данных в /vol0 вместо другого файла /mnt/spark.
Я пробовал разные решения из stackoverflow, и в некоторых блогах у меня не работают какие-либо решения.
Может ли кто-нибудь помочь мне избавиться от этой проблемы. я использую 10 устройств m1.large на сервере Aws.