如何在 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)
,但如果分布不同,它就不起作用。
假设我们有两个数组 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)
,但如果分布不同,它就不起作用。