本文参考Zhen He
57、sample
原型
def sample(withReplacement: Boolean, fraction: Double, seed: Int): RDD[T]
含义
sample 随机挑选RDD中的一部分产生新的RDD,withReplacement表示是否允许重复挑选,fraction表示挑选比例,seed表示随机初始化种子
示例
58、sampleByKey [Pair]
原型
def sampleByKey(withReplacement: Boolean, fractions: Map[K, Double], seed: Long = Utils.random.nextLong): RDD[(K, V)]
含义
sampleByKey 先将每一个key相同的聚合在一起,然后在相同的key之间按照指定的权重筛选,用户需要自定义一个Map来确定每个key筛选的比例。
示例
59、saveAsObjectFile
原型
def saveAsObjectFile(path: String)
含义
saveAsObjectFile 把RDD数据保存成二进制格式
示例
60、saveAsSequenceFile [SeqFile]
原型
def saveAsSequenceFile(path: String, codec: Option[Class[_ <: CompressionCodec]] = None)
含义
saveAsSequenceFile 把RDD数据保存成Hadoop 序列文件
示例
61、saveAsTextFile
原型
def saveAsTextFile(path: String)
def saveAsTextFile(path: String, codec: Class[_ <: CompressionCodec])
含义
saveAsTextFile 把RDD数据保存成文本文件
示例
62、stats [Double]
原型
def stats(): StatCounter
含义
stats 统计学方法,同时计算RDD中的平均值,方差,标准差,最大值和最小值
示例
63、sortBy
原型
def sortBy[K](f: (T) ⇒ K, ascending: Boolean = true, numPartitions: Int = this.partitions.size)(implicit ord: Ordering[K], ctag: ClassTag[K]): RDD[T]
含义
sortBy 用于排序,第一个参数用于指定将待排序的RDD元素转换成要排序的key,根据这个指定的key来排序,第二个参数如果为true表示升序,否则为降序
示例
64、sortByKey [Ordered]
原型
def sortByKey(ascending: Boolean = true, numPartitions: Int = self.partitions.size): RDD[P]
含义
sortByKey 是sortBy 的一个简单应用,他使用的时候不需要用户指定排序key,而是直接排序。只能对key-value类型使用。
示例
65、stdev [Double], sampleStdev [Double]
原型
def stdev(): Double
def sampleStdev(): Double
含义
stdev 调用stats 函数,取得RDD中的标准差,divides by N
sampleStdev 调用stats 函数,取得RDD中的标准差,divides by N-1,对于数据量很大的情况下适用
示例
66、subtract
原型
def subtract(other: RDD[T]): RDD[T]
def subtract(other: RDD[T], numPartitions: Int): RDD[T]
def subtract(other: RDD[T], p: Partitioner): RDD[T]
含义
subtract 求两个集合的差,A-B
示例
67、subtractByKey [Pair]
原型
def subtractByKey[W: ClassTag](other: RDD[(K, W)]): RDD[(K, V)]
def subtractByKey[W: ClassTag](other: RDD[(K, W)], numPartitions: Int): RDD[(K, V)]
def subtractByKey[W: ClassTag](other: RDD[(K, W)], p: Partitioner): RDD[(K, V)]
含义
subtractByKey 两个RDD先按照key分组,二者相减A-B,key相同,都会消除。如果A中没有,B中有,那么就会丢弃
示例
68、sum [Double], sumApprox [Double]
原型
def sum(): Double
def sumApprox(timeout: Long, confidence: Double = 0.95): PartialResult[BoundedDouble]
含义
sum 计算RDD中元素的总和,要求输入一个数字类型的RDD
示例
68、sum [Double], sumApprox [Double]
原型
def sum(): Double
def sumApprox(timeout: Long, confidence: Double = 0.95): PartialResult[BoundedDouble]
含义
sum 计算RDD中元素的总和,要求输入一个数字类型的RDD
示例