导航
  • 全部
...

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

wux_labs 2023-01-27 00:38:42

reduceByKey算子是对K-V型RDD中的元素按K进行分组,调用函数对同一分组中的V进行聚合处理,生成一个新的K-V型RDD,新RDD中的元素个数是源RDD的分组数。reduceByKey算子的定义如下:

  1. def reduceByKey(
  2. self: "RDD[Tuple[K, V]]",
  3. func: Callable[[V, V], V],
  4. numPartitions: Optional[int] = None,
  5. partitionFunc: Callable[[K], int] = portable_hash,
  6. ) -> "RDD[Tuple[K, V]]"

案例:

  1. rdd1 = sc.parallelize(["Hello Python", "Hello Spark You", "Hello Python Spark", "You know PySpark"])
  2. # 构造一个K-V型RDD
  3. rdd2 = rdd1.flatMap(lambda x: x.split(" ")).map(lambda x: (x, 1))
  4. rdd3 = rdd2.reduceByKey(lambda a, b: a + b)
  5. print("源K-V型RDD是:", rdd2.collect())
  6. print("新K-V型RDD是:", rdd3.collect())
...全文
给本帖投票
259 回复 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

5,762

社区成员

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

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

手机看
关注公众号

关注公众号

客服 返回
顶部