scala-spark数组映射

时间:2015-05-06 14:47:19

标签: scala apache-spark

我有一个关于在scala中映射Array的问题。我有以下数组:

Array[(scala.collection.immutable.Set[String], com.trends.City, com.trends.State)]

基本上,我想映射数组,使得Set中的每个String都有com.trends.City和State附加到它。结果应该类似于:

Array[(String, com.trends.City, com.trends.State)] 

这就像flatMap,但我希望com.trends能够存在。

如果需要,我也可以将数组转换为RDD并使用flatMapValues,但我担心效率,有人能告诉我最好的方法吗?

1 个答案:

答案 0 :(得分:3)

您可以在scala数组上使用flatMap,如下所示:

class City
class State
val array: Array[(scala.collection.immutable.Set[String], City, State)] = Array()
array.flatMap(p => p._1.map(q => (q, p._2, p._3)))