4,721
社区成员
发帖
与我相关
我的任务
分享
sortByKey算子是对K-V型RDD中的所有元素都调用一个函数对K值进行处理,根据函数的返回值对RDD的元素进行排序,生成一个新的K-V型RDD。sortByKey算子的定义如下:
def sortByKey(
self: "RDD[Tuple[K, V]]",
ascending: Optional[bool] = True,
numPartitions: Optional[int] = None,
keyfunc: Callable[[Any], Any] = lambda x: x,
) -> "RDD[Tuple[K, V]]"
案例:
rdd1 = sc.parallelize(["Hello Python", "Hello Spark You", "Hello Python Spark", "You know PySpark"])
rdd2 = rdd1.zipWithIndex()
rdd3 = rdd2.sortByKey()
rdd4 = rdd2.sortByKey(keyfunc=lambda x: str(len(x)))
print("RDD2的数据是:", rdd2.collect())
print("RDD3的数据是:", rdd3.collect())
print("RDD4的数据是:", rdd4.collect())