我正在努力让这个代码部分甚至编译:
原因是我不了解getList
参数。
List[Int]
和List[Double]
但row.getList
返回List[Any]
val rst:Try[ResultSet]=executeQuery(query)
rst.isSuccess match {
case true =>
val rs:ResultSet=rst.get
val rsList:mutable.Buffer[Row] = rs.all.asScala
rsList.map { row =>
val uuid=row.getString("uuid")
val hc=row.getInt("hashcode")
val indices:List[Int]=row.getList("indices",Int.getClass).asScala.toList
val values:List[Double] = row.getList("values",Double.getClass).asScala.toList
val label= row.getDouble ("label")
val lp=new LabeledPoint(label, org.apache.spark.mllib.linalg.Vectors.sparse(colCount, indices.toArray, values.toArray))
(lp,lp.hashCode(),uuid)
}
}
好的,找到答案here所以这是重复
row.getList("indices", classOf[java.lang.Integer])