改组后,Spark中的分区内容是否会发生变化?

时间:2016-11-29 16:01:55

标签: apache-spark rdd

每次分区的初始内容是否会在Spark结束时改变(例如,如果我们执行reduceByKey),或者Spark只是将数据读入内存而不更改分区?

1 个答案:

答案 0 :(得分:2)

原始RDD保持不变(它是不可变的)。 shuffle进程读取每个分区中的数据,并为密钥的不同哈希值创建不同的缓冲区。然后创建新分区,以便每个分区读取属于一个或多个散列桶的所有缓冲区。结果是新RDD具有新分区,其中包含来自多个原始分区的片段。