- count
统计RDD中元素的个数。
@Test
def countTest: Unit ={
val rdd = sc.parallelize(Seq(1,2,3,4,5,6))
val result: Long = rdd.count()
println(result) //6
}
- countByKey
与count类似,但是是以key为单位进行统计。
注意:此函数返回的是一个map,不是int。
@Test
def countByKeyTest: Unit ={
val rdd: RDD[(String, Double)] = sc.parallelize(Seq(("薯片",8.0),("可乐",3.0),("面包",4.5)))
val result: collection.Map[String, Long] = rdd.countByKey()
println(result) //Map(面包 -> 1, 可乐 -> 1, 薯片 -> 1)
}
- countByValue
统计一个RDD中各个value的出现次数。返回一个map,map的key是元素的值,value是出现的次数。
@Test
def test(): Unit ={
var seq = Seq(("a",1),("b",2),("c",3),("a",2))
var source = sc.parallelize(seq)
var result = source.countByValue()
print(result)
//Map((b,2) -> 1, (c,3) -> 1, (a,1) -> 1, (a,2) -> 1)
}