如何减少Spark依赖项的模型导出工作?

时间:2018-11-27 17:30:06

标签: apache-spark apache-spark-mllib pmml

任何人都可以用简单的语言解释Spark模型如何  在不依赖于Spark群集的情况下导出作品  预测?

我的意思是,如果我们在ML管道的训练中使用ml.feature.stopwordremover之类的Spark函数并将其以PMML格式导出,那么当在没有Spark的生产环境中部署该函数时如何重新生成该函数安装。可能是我们使用JPMML的时候。我浏览了PMML Wiki页面here,但它仅说明了PMML的结构。但是,这里没有提供功能说明。

欢迎使用任何指向文章的良好链接。

1 个答案:

答案 0 :(得分:1)

请尝试使用JPMML-SparkML库(或其PySpark2PMMLSparklyr2PMML前端),以了解映射到PMML标准的不同Apache Spark转换器和模型的精确程度。

例如,PMML标准没有提供专门的“删除停用词”元素。而是使用通用TextIndexTextIndexNormalization元素来处理所有低级文本操作。停用词的删除表示为/实现为正则表达式转换,其中将它们简单地替换为空字符串。要评估此类PMML文档,您的运行时必须仅提供基本的正则表达式功能-绝对不需要Apache Spark运行时或其转换器和模型算法/类。

从Apache Spark ML到PMML的翻译效果非常好(例如,覆盖范围比MLeap等其他翻译方法要好得多。)