我正在尝试了解RDD的分区。保留分区是什么意思?将RDD划分为4个分区,然后应用map或flatMap。这些操作是转换,不需要任何改组,并且与这些操作相关的任务将在每个分区上并行运行。现在为什么说不保留分区。这些操作的结果仍然是4个分区。
答案 0 :(得分:1)
保留分区是什么意思?
标志
preservesPartitioning
表示子RDD从其父RDD继承分区程序。
如果您未指定preservesPartitioning=true
,则将使用DefaultPartitioner
(即HashPartitioner
)来代替,这样会发生完全的随机播放。这可能比重用父级的要昂贵。