试图理解为什么spark需要本地机器上的空间!有办法吗?我总是遇到“设备上没有空间了”。我知道我可以将'spark.local.dir'设置为逗号分隔的列表,但是有没有办法改用hdfs呢?我正在尝试合并两个巨大的数据集。在较小的数据集上,spark正在踢mapreduce的屁股,但在我用这些巨大的数据集证明之前,我不能宣称自己是胜利的。我没有用Yarn。此外,我们的网关节点(aka edge nodes)将没有太多可用空间。请告诉我有办法解决这个问题。谢谢。
brc7rcf01#
当groupbykey操作时,spark只写入tmpdir序列化分区。它是普通文件(请参阅shuffleddd guts、serializer等),写入hdfs已经足够复杂了。只需将“spark.local.dir”设置为“free volume”。这些数据只需要用于本地机器,而不需要用于分布式数据(如hdfs)。
1条答案
按热度按时间brc7rcf01#
当groupbykey操作时,spark只写入tmpdir序列化分区。它是普通文件(请参阅shuffleddd guts、serializer等),写入hdfs已经足够复杂了。
只需将“spark.local.dir”设置为“free volume”。这些数据只需要用于本地机器,而不需要用于分布式数据(如hdfs)。