4,657
社区成员
发帖
与我相关
我的任务
分享
coalesce算子用来对RDD的分区执行重新分区,根据指定的分区数,重新对RDD的数据进行分区,生成一个新的RDD。coalesce算子的定义如下:
def coalesce(self: "RDD[T]", numPartitions: int, shuffle: bool = False) -> "RDD[T]"
案例:
rdd1 = sc.parallelize(["Hello Python", "Hello Spark You", "Hello Python Spark", "You know PySpark"])
rdd2 = rdd1.coalesce(4)
rdd3 = rdd1.coalesce(4, shuffle=True)
rdd4 = rdd1.coalesce(1)
print("RDD1的分区数是:", rdd1.getNumPartitions())
print("RDD2的分区数是:", rdd2.getNumPartitions())
print("RDD3的分区数是:", rdd3.getNumPartitions())
print("RDD4的分区数是:", rdd4.getNumPartitions())