RDD之Cartesian

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|
+------+------+
 */

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章