目录

  • ​​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)