Cartesian:笛卡爾
返回這個RDD和另一個的笛卡爾積,即所有對元素(a, b)的RDD,其中a在這個,b在另一個。
// spark 2.3.1
val spark = SparkSession.builder().master("local").appName("yy").getOrCreate()
val sc = spark.sparkContext
val rdd1 = sc.makeRDD(Array(6,7),2) // 這裏手動設置兩個分區 默認分區個數爲CPU的核心總數
val rdd2 = sc.makeRDD(Array(2,3),2) // 這裏手動設置兩個分區 默認分區個數爲CPU的核心總數
val rdd3 = rdd1.cartesian(rdd2) // 笛卡爾積 (6,2)(6,3)(7,2)(7,3)
spark.createDataFrame(rdd3).toDF("rdd1元素","rdd2元素").show()
/*
+------+------+
|rdd1元素|rdd2元素|
+------+------+
| 6| 2|
| 6| 3|
| 7| 2|
| 7| 3|
+------+------+
*/