如何在 PySpark 脚本中使用 pmml 模型?

How can I use pmml model in PySpark script?

我有 xgboost 模型,它在纯 Python 上训练并转换为 pmml 格式。现在我需要在 PySpark 脚本中使用这个模型,但我没有想法,我该如何实现它。是否有方法允许在 Python 中导入 pmml 模型并将其用于预测?感谢您的任何建议。

BR,
弗拉基米尔

Spark 不支持直接从 PMML 导入。虽然我没有遇到 pyspark PMML 导入器,但有一个用于 java (https://github.com/jpmml/jpmml-evaluator-spark). What you can do is wrap the java (or scala) so you can access it from python (e.g. see http://aseigneurin.github.io/2016/09/01/spark-calling-scala-code-from-pyspark.html)。

您可以使用 PyPMML-Spark 在 PySpark 脚本中导入 PMML,例如:

from pypmml_spark import ScoreModel

model = ScoreModel.fromFile('the/pmml/file/path')
score_df = model.transform(df)