我有一个 VertexRDD[DenseVector[Double]] 并且我想将它转换为一个数据帧。我不明白如何将 DenseVector 中的值映射到数据框中的新列。
我正在尝试将架构指定为:
val schemaString = "id prop1 prop2 prop3 prop4 prop5 prop6 prop7"
val schema = StructType(schemaString.split(" ").map(fieldName => StructField(fieldName, StringType, true)))
我认为一个选项是将我的 VertexRDD(breeze.linalg.DenseVector 保存所有值的地方)转换为 RDD[Row],以便我最终可以创建一个数据框,如:
val myRDD = myvertexRDD.map(f => Row(f._1, f._2.toScalaVector().toSeq))
val mydataframe = SQLContext.createDataFrame(myRDD, schema)
但我得到一个
// scala.MatchError: 20502 (of class java.lang.Long)
任何提示都非常受欢迎