如何获得两个RDD的产品?

Pan*_*005 6 scala apache-spark

不知所措.我有两个RDD,并希望在它们上生成结果RDD,如下所示.

val rdd1 =  Array(1, 2)
val rdd2 =  Array(a, b, c)

val resultRDD = [(1,a), (1,b), (1,c), (2,a), (2,b), (2,c)]
Run Code Online (Sandbox Code Playgroud)

任何人都可以帮助我在上面生成resultRDD时需要使用哪些转换或操作.仅供参考,我是用scala写的.

编辑

谢谢.火花笛卡尔对我有用,如下所示.

    val data = Array('a', 'b')
    val rdd1 = sc.parallelize(data)

    val data2 = Array(1, 2, 3)
    val rdd2 = sc.parallelize(data2)

    rdd1.cartesian(rdd2).foreach(println)
Run Code Online (Sandbox Code Playgroud)

The*_*aul 9

def cartesian[U](other: RDD[U])(implicit arg0: ClassTag[U]): RDD[(T, U)]
Run Code Online (Sandbox Code Playgroud)

返回此RDD的笛卡尔乘积和另一个,即所有元素对(a,b)的RDD,其中a在此处,b在其他元素中.

在这里