使用HDFS而不是spark.local.dir



试图理解Spark为什么需要本地机器上的空间!有办法绕过它吗?我不断遇到"设备上没有剩余空间"。我知道我可以将"spark.local.dir"设置为逗号分隔的列表,但有办法使用HDFS吗?

我正在尝试合并两个巨大的数据集。在较小的数据集上,Spark是MapReduce的对手,但在我用这些巨大的数据集证明之前,我不能宣布胜利。我没有使用YARN。此外,我们的网关节点(也称为边缘节点)将没有太多可用空间。

有办法绕过这个吗?

在groupByKey操作时,Spark只写入tmpDir序列化的分区。它是普通文件(请参阅ShuffledRDD guts、序列化程序等),写入HDFS已经足够复杂了。

只需将"spark.local.dir"设置为空闲卷即可。这些数据只需要用于本地机器,而不需要用于分布式数据(如HDFS)。

相关内容

  • 没有找到相关文章