intersection交集
对源 RDD 和参数 RDD 求交集后返回一个新的 RDD
要求:RDD泛型必须相同,否则报错
声明
def intersection(other: RDD[T]): RDD[T]
注意: 形参RDD有泛型,与源RDD必须相同,否则报错
例子
val sparConf = new SparkConf().setMaster("local[*]").setAppName("RDD")
val sc = new SparkContext(sparConf)
val rdd:RDD[Int] = sc.makeRDD(List(1,2,3,4,5))
val rdd2:RDD[Int] = sc.makeRDD(List(4,5,6,7,8))
val resRDD=rdd.intersection(rdd2)
resRDD.collect().foreach(println)
sc.stop()
执行结果:
4
5
union并集
对源 RDD 和参数 RDD 求并集后返回一个新的 RDD
相当于 SQL 中的
union all
要求:RDD泛型必须相同,否则报错
例子
val sparConf = new SparkConf().setMaster("local[*]").setAppName("RDD")
val sc = new SparkContext(sparConf)
val rdd:RDD[Int] = sc.makeRDD(List(1,2,3,4,5))
val rdd2:RDD[Int] = sc.makeRDD(List(4,5,6,7,8))
val resRDD=rdd.union(rdd2)
resRDD.collect().foreach(println)
sc.stop()
执行结果:
1
2
3
4
5
4
5
6
7
8
subtract差集
以一个 RDD 元素为主,去除两个 RDD 中重复元素,将其他元素保留下来
要求:RDD泛型必须相同,否则报错
例子
val sparConf = new SparkConf().setMaster("local[*]").setAppName("RDD")
val sc = new SparkContext(sparConf)
val rdd:RDD[Int] = sc.makeRDD(List(1,2,3,4,5))
val rdd2:RDD[Int] = sc.makeRDD(List(4,5,6,7,8))
//以rdd 元素为主,去除两个 RDD 中重复元素,将其他元素保留下来
val resRDD=rdd.subtract(rdd2)
resRDD.collect().foreach(println)
sc.stop()
执行结果:
1
2
3


