PySpark RDD 之 reduce

1. pyspark 版本

       2.3.0版本

 

2. 官网

    reduce(f)[source]

       Reduces the elements of this RDD using the specified commutative and associative binary operator. Currently reduces partitions locally.

      中文: 使用指定的交换和关联二进制操作符减少此RDD的元素。当前在本地减少分区。

>>> from operator import add
>>> sc.parallelize([1, 2, 3, 4, 5]).reduce(add)
15
>>> sc.parallelize((2 for _ in range(10))).map(lambda x: 1).cache().reduce(add)
10
>>> sc.parallelize([]).reduce(add)
Traceback (most recent call last):
    ...
ValueError: Can not reduce() empty RDD

 

3. 我的代码

列1: 汇总rdd所有元素的,这个和分区有关

from pyspark import SparkContext, SparkConf
conf = SparkConf().setMaster("local").setAppName("reduce")
sc = SparkContext(conf=conf)
lines = sc.parallelize([1, 2, 3 , 4 , 5])
# count()  统计元素个数
print('lines 中有元素:', lines.count())
sum = lines.reduce(lambda x,y:x+y)
print('元素总和为: ', sum)

>>> lines 中有元素: 5
>>> 元素总和为:  15

 

4. notebook

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值