Test 1:
package test.wyh.wordcount
import org.apache.spark.{SparkConf, SparkContext}
object TestJoin {
def main(args: Array[String]): Unit = {
//建立Spark连接
val sparkConf = new SparkConf().setMaster("local").setAppName("TestWordCountApp")
val sc = new SparkContext(sparkConf)
val rdd1 = sc.makeRDD(List(("a", 12), ("c", 34), ("e", 88)))
val rdd2 = sc.makeRDD(List(("c", 50), ("e", 76), ("a", 25)))
//相同key的值会连接在一起
val joinRDD = rdd1.join(rdd2)
joinRDD.collect().foreach(println)
//关闭连接
sc.stop()
}
}
运行结果:
Test 2:
当两个RDD中的key没有同时存在时,只会将共同存在的key的值进行连接,各自单独存在的key会丢掉。可以理解为内连接。
package test.wyh.wordcount
import org.apache