开发者学堂课程【大数据 Spark 2020版(知识精讲与实战演练)第三阶段:Rdd 算子_转换_集合操作】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/689/detail/11971
Rdd 算子_转换_集合操作
内容介绍:
一、交集并集差集的说明
二、交集
三、并集
四、差集
一、交集并集差集的说明
在 rdd 当中如何进行集合的操作,集合的操作一般分为交集 并集和差集。
假如有俩个集合,集合 a 和集合 b,交集即中间相交的位置。并集就是 a 和 b 里面整个所有的位置。a 差 b,指的就是 a 里面有,但是 b 里面没有的。如下图所示:
那么上述上个操作在 spark 中如何实现呢?
二、交集
进入 IDEA,先去进行第一个交集操作,定义俩个集合 rdd1,生成五个元素,里面有1,2,3,4,5这五个元素,定义一个集合 rdd2,里面有3,4,5,6,7,五个元素,就需要求交集,intersection(rdd2),进行收集和打印。
@Test
def intersection(): Unit=(
val rdd1 = sc.parallelize(Seq(1, 2, 3, 4, 5))val rdd2 = sc.parallelize(Seq(3, 4, 5, 6, 7))
rdd1.intersection(rdd2)
.collect()
.foreach(println(_))
]
运行结果如下:
三、并集
并集的方法和交集类似,并集使用的是 union。
并集
★/
@Test
def union():Unit =[
val rddl = sc.parallelize(Seq(1, 2, 3,4, 5))val rdd2 = sc.parallelize(Seq(3, 4, 5, 6, 7))I
rdd1.union(rdd2)
.collect()
.foreach(println(_))
运行结果如下:
四、差集
差集使用的是 subtract,即 rdd1.subtract(rdd2)
差集
★/
@Test
def subtract():Unit = [
val rdd1 = sc.parallelize(Seq(1, 2, 3, 4, 5))val rdd2 = sc.parallelize(Seq(3, 4, 5, 6
,7)
rdd1.subtract(rdd2)
.collect()
.foreach(println(_)) I
3
运行结果如下:
如果是交集,相当于 a 里面有,b 中也有。并集就是把俩个集合并在一起,可以有重复。差集就是 a 里面有,但 b 里面没有。