У меня есть СДР
Array[(String, Iterable[(Int, Double)])]
с элементами, похожими на
(000267537-01,List((25,0.01), (35,120.0), (26,2.0), (38,130.0), (21,45.0), (54,180.0), (39,10.0)))
Теперь с постоянным числом 56 я хочу преобразовать часть списка СДР в список разреженный вектор. Итак, я сделал:
val my_rslt = my_rdd.map(x => (x._1, Vectors.sparse(56, x._2)))
, затем я получил сообщение об ошибке:
<console>:37: error: overloaded method value sparse with alternatives:
(size: Int,elements: java.lang.Iterable[(Integer, java.lang.Double)])org.apache.spark.mllib.linalg.Vector <and>
(size: Int,elements: Seq[(Int, scala.Double)])org.apache.spark.mllib.linalg.Vector
cannot be applied to (Int, Iterable[(Int, scala.Double)])
val my_rslt = my_rdd.map(x => (x._1, Vectors.sparse(56, x._2)))
^
Так что же здесь не так? Как работает «Vectors.sparse»?