根据Spark
“无序写入”实际上是指在传输之前(通常在一个阶段结束时)所有执行器上所有写入的序列化数据的总和。
我的问题是,随机写入发生在哪里?在写入时,整个数据是否仅在本地磁盘上进行混洗?或者只在RAM内存中写入要混洗的全部数据?或者基于RAM的可用性,它是否将要混洗的数据的一部分写入磁盘,将某些部分写入RAM?
请解释一下
发布于 2020-04-17 22:40:41
因此,默认情况下,spark缓存在内存中,如果数据不足以容纳在内存中,那么它将溢出到磁盘上。现在,当我们讨论混洗数据时,它将是mapper的中间结果/输出。默认情况下,spark会将此中间输出存储在内存中,但如果没有足够的空间,它会将中间数据存储在磁盘空间中。Spark将以序列化格式存储此数据,这样就不必每次都产生反序列化的成本。
https://stackoverflow.com/questions/61273425
复制相似问题