Scala groupBy(identity)

//统计各个单词出现的次数
val words = List("spark","hive","hadoop","hbase","zookeeper","hive","hive",
      "hive","hbase","hbase","spark","hive","spark","hive")
val wordsplit:List[(String,Int)] = words.flatMap(w=>w.split(",")
 .map((_,1)))

val wordcount= wordsplit.groupBy(identity).mapValues(_.size)

//结果
Map((hive,1) -> 6, (zookeeper,1) -> 1, (hbase,1) -> 3, (spark,1) -> 3, (hadoop,1) -> 1)
val wordcount1= wordsplit.groupBy(x=>x).mapValues(_.size)

//结果
Map((hive,1) -> 6, (zookeeper,1) -> 1, (hbase,1) -> 3, (spark,1) -> 3, (hadoop,1) -> 1)

identity 函数的作用就是将传入的参数“直接”当做返回值回传给调用者,这在正常使用中,可以说是毫无作用,但他在groupBy和sortBy等函数中的作用,在于避免程序员书写相同且容易出错的逻辑

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值