gpt4 book ai didi

scala - 如何得到两个RDD的乘积?

转载 作者:行者123 更新时间:2023-12-02 03:22:26 26 4
gpt4 key购买 nike

我是 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)]

任何人都可以帮助我了解我需要使用哪些转换或操作来生成如上所述的 resultRDD 。仅供引用,我正在用 scala 编写。

编辑

谢谢。 Spark 笛卡尔为我工作如下。

    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)

最佳答案

def cartesian[U](other: RDD[U])(implicit arg0: ClassTag[U]): RDD[(T, U)]

Return the Cartesian product of this RDD and another one, that is, the RDD of all pairs of elements (a, b) where a is in this and b is in other.

Doc here

关于scala - 如何得到两个RDD的乘积?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26903044/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com