RDD的Action算子-fold算子

wux_labs 2023-01-28 18:22:11

fold算子是基于一个初始值对RDD中的元素调用一个函数进行聚合,返回聚合后的结果,与reduce算子类似。与reduce算子不同的是,reduce算子无初始值,而fold算子需要一个初始值。fold算子首先基于初始值在RDD的各个分区内部完成分区内聚合,再基于初始值在各个分区之间完成分区间聚合。fold算子的定义如下:

def fold(self: "RDD[T]", zeroValue: T, op: Callable[[T, T], T]) -> T

案例:

rdd1 = sc.parallelize(["Hello Python", "Hello Spark You", "Hello Python Spark", "You know PySpark"])

print("RDD1中元素的总长度是:", rdd1.map(lambda x: len(x)).fold(5, lambda a, b: a + b))
...全文
142 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

4,657

社区成员

发帖
与我相关
我的任务
社区描述
姓什么?我姓大。 大什么?大数据。 有多大?lambda。 家族成员有哪些?Hadoop、Hive、Spark。 开发语言有什么?Java、Python、Scala。
大数据 个人社区
社区管理员
  • wux_labs
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧