2014-12-08 39 views
1

假设我有一个RDD为Array [Double],带有n列。我想在最后一列应用过滤器(例如,值>某个常量)。在矢量/阵列的RDD上应用滤镜[Double]

  • 这是在Scala/Apache Spark中的语法是什么?
  • 如果我有一个向量的RDD,可以这样做吗?
  • 如果我可以选择其中一个(即Array [Double]的RDD和Vectors的RDD),我应该选择哪一个以便更高效/更快地编写代码?

回答

2

类似的东西

val rdd: RDD[Array[Double]] = ... 
val filtered: RDD[Array[Double]] = rdd.filter(arr => arr.last() > some_value) 

我不认为它真正的问题是什么,选择Array或Vector。 Spark的总体开销远远高于阵列vs矢量的性能/内存收益