处理键-值对
尽管Spark的大部操作支持包含所有对象类型的RDDs,但是还有一些操作只支持键-值对的的RDDs.最常见的是类似"洗牌"的操作,比如以键值来分组或聚合所有的元素。
在Scala里,这些操作对包含2元组的RDD是自动可用的。(Scala语言内置的元组,通过(a,b)这样的形式创建)。对键-值对可用的操作在PairRDDFunctions类里,将自动包含在含有2元组的RDD里。
比如,下面的代码使用在键-值对上使用reduceByKey操作来计算文件中同一行出现的次数。
val lines = sc.textFile("data.txt")
val