求每个键平均值的数据流

  1. 启动Hadoop和集群
  2. 进入spark-1.1.0-bin-hadoop 目录下的 cd ./bin/pyspark
    启动spark shell
In [1]: pair={("panda",0),("pink",3),("pirate",3),("panda",1),("pink",4)}
In [2]: pairRDD=sc.parallelize(pair)
In [3]: print"{}".format(pairRDD.collect())

[('panda', 1), ('pink', 3), ('pirate', 3), ('panda', 0), ('pink', 4)]           

In [4]: pairRDD1=pairRDD.mapValues(lambda x :(x,1))

In [5]: pairRDD2=pairRDD1.reduceByKey(lambda x,y:(x[0]+y[0],x[1]+y[1]))

In [6]: pairRDD3=pairRDD2.reduceByKey(lambda x,y:(x[0]/x[1]))

In [7]: print"{}".format(pairRDD3.collect())
[('pink', (7, 2)), ('panda', (1, 2)), ('pirate', (3, 1))]


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值