ОК, так что есть два варианта.1. просто сделай это самГенерация в виде строки и сохранение с использованием стандартного файла IO
def libSVMFileAsString():String= {
val sparse0=internalCheckColumnOrder()
val rows:Array[String]=sparse0.lpData().map { case LabeledPoint(label, features) =>
val sb = new StringBuilder(label.toString)
features.foreachActive { case (i, v) =>
sb += ' '
sb ++= s"${i + 1}:$v"
}
sb.mkString
}.collect()
val sbOut:mutable.StringBuilder=new mutable.StringBuilder()
rows.foreach(r=>sbOut.append(r + "\n"))
sbOut.toString()
}
Преобразовать в формат данных и затем сохранить:
def labeledPintsAsDataFrame(): DataFrame =
{
lpData:RDD[LabeledPoint]=...
val sqlContext = spark.sqlContext
import sqlContext.implicits._
lpData().toDF
}
, а затем
dftoprint.write.format("libsvm").save(s"$newPath${File.separator}${fileName}")