diff --git a/mllib/src/main/scala/org/apache/spark/mllib/pmml/PMMLExportable.scala b/mllib/src/main/scala/org/apache/spark/mllib/pmml/PMMLExportable.scala index b0ebc85b3719b..988271fae292f 100644 --- a/mllib/src/main/scala/org/apache/spark/mllib/pmml/PMMLExportable.scala +++ b/mllib/src/main/scala/org/apache/spark/mllib/pmml/PMMLExportable.scala @@ -22,12 +22,13 @@ import java.io.OutputStream import java.io.StringWriter import javax.xml.transform.stream.StreamResult import org.jpmml.model.JAXBUtil +import org.apache.spark.SparkContext import org.apache.spark.mllib.pmml.export.PMMLModelExport import org.apache.spark.mllib.pmml.export.PMMLModelExportFactory /** * Export model to the PMML format - * Predictive Model Markup Language (PMML) in an XML-based file format + * Predictive Model Markup Language (PMML) is an XML-based file format * developed by the Data Mining Group (www.dmg.org). */ trait PMMLExportable { @@ -47,6 +48,14 @@ trait PMMLExportable { toPMML(new StreamResult(new File(localPath))) } + /** + * Export the model to a distributed file in PMML format + */ + def toPMML(sc: SparkContext, path: String): Unit = { + val pmml = toPMML() + sc.parallelize(Array(pmml),1).saveAsTextFile(path) + } + /** * Export the model to the Outputtream in PMML format */