将RDD的Iterable [(String,Double)]更改为Array或List

Kev*_*kka 2 scala apache-spark

我有一个,org.apache.spark.rdd.RDD[(String, (Double, Double), Iterable[(String, Double)])]但它似乎与Iterable努力工作.我有什么办法可以改成它Array[(String, Double)]吗?

zer*_*323 6

你可以简单地使用 Iterable.toArray

rdd.map{case (x, y, iter) => (x, y, iter.toArray)}
Run Code Online (Sandbox Code Playgroud)

要么 Iterable.toList

rdd.map{case (x, y, iter) => (x, y, iter.toList)}
Run Code Online (Sandbox Code Playgroud)

  • List和Array将具有不同的性能特征.对于随机访问,数组通常会表现得更好,如果您需要增加集合,可以通过预先挂起的新项目来实现. (2认同)