标签: apache-spark rdd
每次分区的初始内容是否会在Spark结束时改变(例如,如果我们执行reduceByKey),或者Spark只是将数据读入内存而不更改分区?
答案 0 :(得分:2)
原始RDD保持不变(它是不可变的)。 shuffle进程读取每个分区中的数据,并为密钥的不同哈希值创建不同的缓冲区。然后创建新分区,以便每个分区读取属于一个或多个散列桶的所有缓冲区。结果是新RDD具有新分区,其中包含来自多个原始分区的片段。