如何在 Spark 中通过并行集合组合两个数组?

How can I combine two Arrays by parallel collections in Spark?

假设我们有两个数组 Array1(1, 2, 3) 和 Array2(4, 5, 6)。 我想将它们组合成一个新的 Array3((1,4),(2,5),(3,6)) 当我在 Spark 中尝试时,它变成了。

代码

val data1 = Array(1, 2, 3, 4, 5)
val data2 = Array(2, 3, 4, 5, 6)
val distData1 = sc.parallelize(data1)
val distData2 = sc.parallelize(data2)

val distData3 = distData1 ++ distData2
distData3.foreach(println)

输出

1
2
3
4
5
6

如何正确组合它们?

//更新*

在我的程序中(与示例不同)。我想要 label.zip(功能)。我的特征是特征:Array[String] 和我的标签也是 Array[String]。为什么它不起作用?

<console>:98: error: type mismatch;
found   : org.apache.spark.rdd.RDD[Array[String]]
required: scala.collection.GenIterable[?]

你可以data1.zip(data2),但如果分布不同,它就不起作用。