一 说明
RDDs支持数据集合的计算,例如并集,交集计算。
二实战
scala> val rdd1=sc.parallelize(Array("coffe","coffe","panda","monkey","tea"))
rdd1: org.apache.spark.rdd.RDD[String] = ParallelCollectionRDD[0] at parallelize at <console>:24
scala> rdd1.foreach(println)
coffe
coffe
panda
monkey
tea
scala> val rdd2=sc.parallelize(Array("coffe","monkey","kitty"))
rdd2: org.apache.spark.rdd.RDD[String] = ParallelCollectionRDD[1] at parallelize at <console>:24
scala> rdd2.foreach(println)
coffe
monkey
kitty
scala> val raa_distinct=rdd1.distinct()
raa_distinct: org.apache.spark.rdd.RDD[String] = MapPartitionsRDD[4] at distinct at <console>:26
scala> raa_distinct.foreach(println)
monkey
panda
coffe
tea
scala> val rdd_union=rdd1.union(rdd2)
rdd_union: org.apache.spark.rdd.RDD[String] = UnionRDD[5] at union at <console>:28
scala> rdd_union.foreach(println)
coffe
coffe
panda
monkey
tea
coffe
monkey
kitty
scala> val rdd_inter=rdd1.intersection(rdd2)
rdd_inter: org.apache.spark.rdd.RDD[String] = MapPartitionsRDD[11] at intersection at <console>:28
scala> rdd_inter.foreach(println)
monkey
coffe
scala> val rdd_sub=rdd1.subtract(rdd2)
rdd_sub: org.apache.spark.rdd.RDD[String] = MapPartitionsRDD[15] at subtract at <console>:28
scala> rdd_sub.foreach(println)
tea
panda