如果在任何奴隶或主设备中进行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个文件,每个文件中有200个数据集,另一个数据集中有200个文件,每个数据集中有200个文件。我正在加入它们并保存到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的不同解决方案,有些博客没有任何解决方案对我有用。
任何人都可以帮助我摆脱这个问题。我在AWS服务器中使用了10个设备M1。
如果您使用的Ubuntu在下面使用
ln -s /val0 /mnt/spark
因此,在Symblink的帮助下,您可以使用/mnt/spark引用/val0。有关更多信息,请访问下面链接http://ubuntuhak.blogspot.in/2013/04/symbolic-links-in--ubuntu.html