K-V型RDD的算子-sortByKey算子

wux_labs wux_labs 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区

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())
...全文

相关推荐

评论
收藏 已收藏
分享
返回顶部