根据给定的分区程序对RDD进行重新分区,并在每个生成的分区内按键对记录进行排序。 这比调用重新分区,然后在每个分区内进行排序更有效率,因为它可以将排序压入洗牌机器。
什么时候使用repartitionAndSortWithinPartitions?
如果需要重分区,并且想要对分区中的数据进行升序排序。
提高性能,替换repartition和sortBy
repartitionAndSortWithinPartitions算子可以一边进行重分区的shuffle操作,一边进行排序。shuffle与sort两个操作同时进行,比先shuffle再sort来说,性能可能是要高的。