一 Value
8.sample()
函数签名 def sample(
withReplacement: Boolean, //抽取后的数据是否放回
fraction: Double, //每个数据被抽取的概率
seed: Long = Utils.random.nextLong): RDD[T] //抽取数据时随机算法的种子作用 处理数据倾斜
第二个参数—抽取概率代表
如果抽取的数据不放回,数据源中每条数据被抽取的概率,基准值的概念
如果抽取的数据放回,表示数据源中的每条数据被抽取的可能次数
9.distinct()
函数签名 def distinct(): RDD[T] � 作用 对RDD数据集合进行去重
12. intersection()
函数签名 def intersection(other: RDD[T]): RDD[T]
�交集
13. union()
函数签名 def union( other: RDD[T] ) : RDD[T] � 并集
val soruceRDD: RDD[(String, (Int, Int, Int))] = rdd1.union(rdd2).union(rdd3)
14. subtract()
函数签名 def subtract( other: RDD[T] ) : RDD[T] � 差
二 双Value类型
16.sortBy()
函数签名 def sortByK
( implicit ord: Ordering[K], ctag: ClassTag[K] ) : RDD[T]作用: 按照�rdd集合中一个 值/元组 进行排序
⚠️注意: sortBy默认情况下,不会改变分区数量,但是中间存在shuffle操作
val rdd: RDD[(String,Int)] = sc.makeRDD(List(("a",1),("b",99),("c",12),("d",22)), 2)
val sortRDD: RDD[(String,Int)] = rdd.sortBy(item => item._2 ,false)
sortRDD.collect().foreach(println)
sortWith()
类似于Java中Comportor比较器