Apache spark 为什么随机溢出比随机读取或输出大得多?
我有一个相当简单的PySpark作业,其中最后一个阶段读取一些无序数据,在窗口上执行一些聚合,并写入HDFS。中位任务有:Apache spark 为什么随机溢出比随机读取或输出大得多?,apache-spark,pyspark,Apache Spark,Pyspark,我有一个相当简单的PySpark作业,其中最后一个阶段读取一些无序数据,在窗口上执行一些聚合,并写入HDFS。中位任务有: 130 MB随机读取 3.4 MB输出大小(写入HDFS) 2.0 GB随机溢出(内存) 140 MB随机溢出(磁盘) 任务之间存在偏差,但没有什么戏剧性的变化 我的问题:既然每个任务只读取130MB的随机数据,并且没有随机数据写入(因为没有后续阶段),那么每个任务怎么可能有2GB的随机数据溢出 我的理解是,如果洗牌数据占用执行器上太多的RAM,它就会从内存溢出到磁盘。但在
我的理解是,如果洗牌数据占用执行器上太多的RAM,它就会从内存溢出到磁盘。但在这里,从内存溢出的数据量远远大于洗牌数据的总大小。一般来说,洗牌溢出怎么可能大于洗牌数据的大小?这个问题可能与以下问题有关:。