pyspark的transformation和action练习002

import findspark
findspark.init()
import pyspark 
sc = pyspark.SparkContext(appName='rdd_excercise_2')
from decimal import Decimal
acTransList =sc.parallelize([("SB10001",1000),("SB10002",1200),("SB10003",8000),("SB10004",4000),("SB10004",300),("SB10003",10000),("SB10002",500),("SB10002",56),("SB10001",1000),("SB10003",1000),("SB10004",-1000)])
acTransList.collect()
# 计算每个账号的交易汇总,reduceByKey
# 根据汇总的Key排序 sortByKey
# 查看api文档里的groupByKey,了解与reduceByKey的区别
[('SB10001', 1000),
 ('SB10002', 1200),
 ('SB10003', 8000),
 ('SB10004', 4000),
 ('SB10004', 300),
 ('SB10003', 10000),
 ('SB10002', 500),
 ('SB10002', 56),
 ('SB10001', 1000),
 ('SB10003', 1000),
 ('SB10004', -1000)]
# 计算每个账号的交易汇总,reduceByKey
acTransList.reduceByKey(lambda x,y : (x+y)).collect()
[('SB10003', 19000), ('SB10001', 2000), ('SB10004', 3300), ('SB10002', 1756)]
# 根据汇总的Key排序 sortByKey
acTransList_2 = acTransList.reduceByKey(lambda x,y : (x+y))
acTransList_2.sortByKey(ascending = False).collect()
[('SB10004', 3300), ('SB10003', 19000), ('SB10002', 1756), ('SB10001', 2000)]
#查看api文档里的groupByKey,了解与reduceByKey的区别
acTransList_2.groupByKey().collect()
[('SB10003', <pyspark.resultiterable.ResultIterable at 0x28094351a58>),
 ('SB10001', <pyspark.resultiterable.ResultIterable at 0x28094351940>),
 ('SB10004', <pyspark.resultiterable.ResultIterable at 0x280943573c8>),
 ('SB10002', <pyspark.resultiterable.ResultIterable at 0x28094357438>)]
sorted(acTransList_2.groupByKey().collect())
[('SB10001', <pyspark.resultiterable.ResultIterable at 0x28094357be0>),
 ('SB10002', <pyspark.resultiterable.ResultIterable at 0x2809436c860>),
 ('SB10003', <pyspark.resultiterable.ResultIterable at 0x280943579e8>),
 ('SB10004', <pyspark.resultiterable.ResultIterable at 0x2809436ca90>)]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值