Spark算子学习之三、 groupBy、groupByKey和cogroup、join

1.groupBy


1)函数签名

def groupBy[K](f: T => K)(implicit kt: ClassTag[K]): RDD[(K, Iterable[T])]

2)功能描述

        函数f接收参数类型为一个表达式,将T转化为K,结果中就以表达式的结果为key,即泛型K与入参保持一致,value为输入类型的列表,即泛型T对应入参T。

        其实从函数的出入参对应关系可以看出,groupby只是对输入的数据,按照一定的规则进行分组。


3)简单案例

//奇数偶数分组,返回类型RDD[(Int,Iterable[Int])],key为0,1
sc.makeRDD(List(1,2,3,4)).groupBy(_ %2 ).foreach(println)
//将大于2的数据分组,返回类型RDD[(Boolean,Iterable[Int])],key为false,true
sc.makeRDD(List(1,2,3,4)).groupBy(_ > 2 ).foreach(println)

 

2.groupByKey


1)函数签名

def groupByKey(): RDD[(K, Iterable[V])]

2)功能描述

        对KV类型数据按照key值进行分组。返回结果为相同key为key,相同key的值形成一个列表。


3)简单案例

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值