Spark-Core(双Value类型)
一、RDD转换算子(双Value类型)
1、intersection
- 函数签名:
def intersection(other: RDD[T]): RDD[T]
- 函数说明:对源 RDD 和参数 RDD 求交集后返回一个新的 RDD
举栗:
val dataRDD1 = sparkContext.makeRDD(List(1,2,3,4))
val dataRDD2 = sparkContext.makeRDD(List(3,4,5,6))
val dataRDD = dataRDD1.intersection(dataRDD2)
2、 union
- 函数签名:
def union(other: RDD[T]): RDD[T]
函数说明:对源 RDD 和参数 RDD 求并集后返回一个新的 RDD(重复数据不会去重)
举栗:
val dataRDD1 = sparkContext.makeRDD(List(1,2,3,4))
val dataRDD2 = sparkContext.makeRDD(List(3,4,5,6))
val dataRDD = dataRDD1.union(dataRDD2)
3、subtract
函数签名:
def subtract(other: RDD[T]): RDD[T]
函数说明:以源 RDD 元素为主,去除两个 RDD 中重复元素,将源RDD的其他元素保留下来。(求差集)
举栗:
val dataRDD1 = sparkContext.makeRDD(List(1,2,3,4))
val dataRDD2 = sparkContext.makeRDD(List(3,4,5,6))
val dataRDD = dataRDD1.subtract(dataRDD2)
4、zip
函数签名:
def zip[U: ClassTag](other: RDD[U]): RDD[(T, U)]
函数说明:将两个 RDD 中的元素,以键值对的形式进行合并。其中,键值对中的 Key 为第 1 个 RDD中的元素,Value 为第 2 个 RDD 中的相同位置的元素。
举栗:
val dataRDD1 = sparkContext.makeRDD(List("a","b","c","d"))
val dataRDD2 = sparkContext.makeRDD(List(1,2,3,4))
val dataRDD = dataRDD1.zip(dataRDD2)