Spark union并集, subtract差集, intersection交集, zip拉链
原创
©著作权归作者所有:来自51CTO博客作者塞上江南o的原创作品,请联系作者获取转载授权,否则将追究法律责任
目录
- spark outline
- 案例演示
spark outline
大纲目录
案例演示
rdd1:(1, 2, 3, 4) ;;rdd2:(4, 5, 6, 7)
需求:对rdd1和rdd2进行并集 差集 交集 拉链运算
package com.xcu.bigdata.spark.core.pg02_rdd.pg022_rdd_transform
import org.apache.spark.rdd.RDD
import org.apache.spark.{SparkConf, SparkContext}
object Spark11_DoubleValue {
def main(args: Array[String]): Unit = {
//创建配置文件
val conf: SparkConf = new SparkConf().setAppName("Spark11_DoubleValue").setMaster("local[*]")
//创建SparkContext,该对象是提交的入口
val sc = new SparkContext(conf)
//创建RDD
val rdd1: RDD[Int] = sc.makeRDD(List(1, 2, 3, 4), numSlices = 2)
val rdd2: RDD[Int] = sc.makeRDD(List(4, 5, 6, 7), numSlices = 2)
//并集
rdd1.union(rdd2).foreach(println)
println("*********************************")
//交集
rdd1.intersection(rdd2).foreach(println)
println("*********************************")
//差集
rdd1.subtract(rdd2).foreach(println)
println("*********************************")
//拉链
val newRDD: RDD[(Int, Int)] = rdd1.zip(rdd2)
newRDD.collect().foreach(println)
//释放资源
sc.stop()
}
}
结果如下:
1
3
4
6
5
4
2
7
*********************************
4
*********************************
2
1
3
*********************************
(1,4)
(2,5)
(3,6)
(4,7)