Java Apache Spark 1.6即使在内存足够的情况下也会溢出到磁盘

Java Apache Spark 1.6即使在内存足够的情况下也会溢出到磁盘,java,join,apache-spark,inner-join,spark-dataframe,Java,Join,Apache Spark,Inner Join,Spark Dataframe,我正在使用spark 1.6在EMR上运行spark作业,如下所示,执行器上有足够的可用内存 即使有相当多的内存可用,我看到下面的洗牌溢出到磁盘。我试图做的是连接,我使用DataFramesAPI连接三个数据集 我确实看了文档,还玩了“spark.memory.fraction”和“spark.memory.storageFraction”,但这似乎没有什么帮助 任何帮助都将不胜感激。感谢在spark中,当有洗牌阶段时,洗牌文件(映射阶段的输出)仅写入磁盘。看看这个@nagendra:如果我

我正在使用spark 1.6在EMR上运行spark作业,如下所示,执行器上有足够的可用内存

即使有相当多的内存可用,我看到下面的洗牌溢出到磁盘。我试图做的是连接,我使用DataFramesAPI连接三个数据集

我确实看了文档,还玩了“spark.memory.fraction”和“spark.memory.storageFraction”,但这似乎没有什么帮助


任何帮助都将不胜感激。感谢

在spark中,当有洗牌阶段时,洗牌文件(映射阶段的输出)仅写入磁盘。看看这个@nagendra:如果我在Spark<1.6的话,这就是重点。在spark 1.6上,spark.shuffle.memoryFraction等配置已被弃用,建议用户仅使用memory.fraction和memory.storagefraction。我试图了解如何在Spark 1.6上解决这个问题,而不必进入传统模式检查RDD的不同缓存选项。默认的持久化是
内存和磁盘服务器
我已经缓存了RDD。不要认为这是问题所在。在spark中,当有洗牌阶段时,洗牌文件(映射阶段的输出)仅写入磁盘。看看这个@nagendra:如果我在Spark<1.6的话,这就是重点。在spark 1.6上,spark.shuffle.memoryFraction等配置已被弃用,建议用户仅使用memory.fraction和memory.storagefraction。我试图了解如何在Spark 1.6上解决这个问题,而不必进入传统模式检查RDD的不同缓存选项。默认的持久化是
内存和磁盘服务器
我已经缓存了RDD。不要认为这是问题所在。