RDD上的描述性统计操作

Spark在包含数值数据的RDD上提供了许多描述性统计操作。描述性统计都是在数据的单次传递中计算的。

配套视频:

RDD上的描述性统计操作

请看下面的代码:

// 构造一个RDD
val rdd1 = sc.parallelize(1 to 20 by 2)

rdd1.collect
rdd1.sum
rdd1.max
rdd1.min
rdd1.count
rdd1.mean
rdd1.variance()
rdd1.stdev()

用直方图可视化数据分布:

// 方法1
// rdd1.histogram(Array(1.0, 10.0, 20.9))
rdd1.histogram(Array(1.0, 8.0, 20.9))

// 方法2
rdd1.histogram(3)

如果是多次调用描述性统计方法,则可以使用StatCounter对象。可以通过调用stats()方法返回一个StatCounter对象:

// 通过调用stats()方法返回一个StatCounter对象
val status = rdd1.stats()

status.count
status.mean
status.stdev
status.max
status.min
status.sum
status.variance

《Spark原理深入与编程实战》