使用键值对RDD的keys和values方法
键值对RDD,包含键和值两个部分。
Spark提供了两种方法,分别获取键值对RDD的键和值。
● keys方法返回一个仅包含键的RDD。
● values方法返回一个仅包含值的RDD。
代码3-21 keys和values 使用keys方法返回一个仅包含键的RDD
val key = words.keys
查看key
key.collect
使用values方法返回一个仅包含值的RDD
val value = words.values
查看value
value.collect
使用键值对RDD的groupByKey()方法
● groupByKey()方法用于对具有相同键的值进行分组,可以对同一组的数据进行计数、求和等操作。
● 对于一个由类型K的键和类型V的值组成的RDD,通过groupByKey()方法得到的RDD类型是[K,Iterable[V]]。
代码3-23 groupByKey()示例
使用groupByKey()方法对具有相同键的值进行分组
val g_rdd = rdd_1.groupByKey()
查看分组结果
g_rdd.collect
使用map()方法查看分组后每个value中的元素个数
g_rdd.map(x => (x._1, x._2.size)).collect