2014-12-08 3 views
1

Предположим, у меня есть RDD массива [Double], с n столбцами. Я хочу применить фильтр в последнем столбце (скажем, значение> некоторая константа).Применение фильтра на RDD векторов/массива [Double]

  • Каков синтаксис этого в Scala/Apache Spark?
  • Можно ли сделать то же самое, если бы у меня был RDD векторов?
  • Если я могу выбрать один над другим (т. Е. RDD массива [Double] и RDD векторов), какой из них выбрать, чтобы иметь более эффективный/быстрый код?

ответ

2

Что-то вроде этого

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

Я не думаю, что это действительно важно, что выбрать массив или Vector. Общие накладные расходы Spark намного выше, чем выгоды от производительности/памяти от массивов и векторов

Смежные вопросы