Scala 中reduceByKey(_|+|_)的使用

本人现在 刚刚开始接触Scala 这门语言 ,接触的很浅,只能做一些简单的代码需求,因为Scala这门语言很活泛,所以在业务当中往往会遇到很多的问题在里面。今天写代码的时候就遇到了这样一个问题,在使用reduceByKey的时候或者跟他类似的算子的时候遇到了一些阻碍,当我想对reduceByKey()中的元组进行操作的时候,他会给我报错。我就去请教了我的老大,还好老大是一个非常温柔的人,耐心的给我讲解了一下。

简单的来说就是:

Scala 中没有对元组进行+的操作  ,只有 引入 Scalaz的这个语法  才能有+这个方法  表达的方式是|+| 这样对元组进行操作,然后进行相加!!!

打个比方    reduceByKey(_+_)   中的(_+_) 进行操作的是   (element.head, element(1), item.userID) -> 1L  ,后面的1L  对吧  那如果 需要操作 像(1L, item._2)这样的元组该怎么办,Scala中没有对元组进行相加的操作 ,,只能引入 Scalaz这个语法才可以 进行  相加  |+|  中间  的加号可以 是- 也可以是别的,,懂了嘛?

他是分别对tup._1 和tup._2 分别累加   得到(count(tup._1),count(tup._2))

需要导入这个包import scalaz.Scalaz._

总结的很浅,还是希望有更多的同僚帮忙指点





你可能感兴趣的:(Scala,reduceByKey(_,+,_))