Apache spark shuffle write在Spark中存储在哪里?
照火花 Shuffle Write实际上是指在阶段结束时正常传输之前,所有执行器上所有写入的序列化数据的总和 我的问题是洗牌写入发生在哪里?in是否只在本地磁盘上写入要洗牌的全部数据?或者,它是将整个数据写入RAM内存中进行洗牌吗?或者基于RAM的可用性,它是否会将数据的一部分写入磁盘并将另一部分写入RAMApache spark shuffle write在Spark中存储在哪里?,apache-spark,Apache Spark,照火花 Shuffle Write实际上是指在阶段结束时正常传输之前,所有执行器上所有写入的序列化数据的总和 我的问题是洗牌写入发生在哪里?in是否只在本地磁盘上写入要洗牌的全部数据?或者,它是将整个数据写入RAM内存中进行洗牌吗?或者基于RAM的可用性,它是否会将数据的一部分写入磁盘并将另一部分写入RAM 请解释一下,默认情况下,spark缓存在内存中,如果数据不足以放入内存,则会溢出到磁盘上。 现在,当我们讨论洗牌数据时,它将是映射器的中间结果/输出。默认情况下,spark会将此中间输出存储
请解释一下,默认情况下,spark缓存在内存中,如果数据不足以放入内存,则会溢出到磁盘上。 现在,当我们讨论洗牌数据时,它将是映射器的中间结果/输出。默认情况下,spark会将此中间输出存储在内存中,但如果没有足够的空间,则会将中间数据存储在磁盘空间中。
Spark将以序列化格式存储此数据,这样它就不必每次都产生反序列化的成本。内存和磁盘中都有。我们开始吧:-或者如果你很渴望,在最初的Spark论文第5章:看我慷慨的回答,并加上一票。我可以在这里重做,但这不是SO的精神。根据您的回答,我得出的结论是,只有在需要洗牌的数据很小的情况下,地图输出才会写入本地磁盘。这确实是一种范例。