Hadoop Spark作业因hdfs而崩溃,设备上没有剩余空间;“非DFS使用”;

Hadoop Spark作业因hdfs而崩溃,设备上没有剩余空间;“非DFS使用”;,hadoop,apache-spark,hdfs,amazon-emr,Hadoop,Apache Spark,Hdfs,Amazon Emr,我在一个小数据集(25GB)上运行spark sql作业,结果总是填满磁盘,最终导致执行器崩溃 $ hdfs dfs -df -h Filesystem Size Used Available Use% hdfs://x.x.x.x:8020 138.9 G 3.9 G 14.2 G 3% $ hdfs dfs -du -h 2.5 G .sparkStaging 0 archive 477.3 M checkpo

我在一个小数据集(25GB)上运行spark sql作业,结果总是填满磁盘,最终导致执行器崩溃

$ hdfs dfs -df -h
Filesystem                 Size   Used  Available  Use%
hdfs://x.x.x.x:8020  138.9 G  3.9 G     14.2 G    3%

$ hdfs dfs -du -h
2.5 G    .sparkStaging
0        archive
477.3 M  checkpoint
当这个附加时,我必须离开安全模式<代码>hdfs dfsadmin-安全模式离开

从spark作业本身来看,这显然是一个洗牌或缓存数据帧的问题。然而,你知道为什么
df
报告了如此不规则的使用/可用尺寸吗?为什么
du
不列出文件

我知道这与我在namenode概述中看到的“非DFS使用”有关。但是为什么spark会占用这么多的“隐藏”空间,以至于让我的工作崩溃呢

Configured Capacity: 74587291648 (69.46 GB)
DFS Used: 476200960 (454.14 MB)
Non DFS Used: 67648394610 (63.00 GB)
DFS Remaining: 6462696078 (6.02 GB)

看起来这是spark的临时文件夹占用了这么多空间。在我的例子中,序列化的数据帧比原始数据大得多,在过滤、连接和处理时会填满磁盘。看起来这是spark的临时文件夹,占用了这么多空间。在我的例子中,序列化的数据帧比原始数据大得多,在过滤、连接和处理时会填满磁盘。