本文共 1511 字,大约阅读时间需要 5 分钟。
importjava.io.FileInputStream;importjava.io.IOException;importjava.io.InputStream;importjava.util.Map;importjavax.xml.bind.JAXBException;importorg.dmg.pmml.FieldName;importorg.dmg.pmml.PMML;importorg.jpmml.evaluator.ModelEvaluator;importorg.jpmml.evaluator.ModelEvaluatorFactory;importorg.jpmml.model.PMMLUtil;importorg.xml.sax.SAXException;/*** 读取pmml 获取模型
*@authorbiantech
**/
public classPmmlInvoker {privateModelEvaluator modelEvaluator;//通过文件读取模型
publicPmmlInvoker(String pmmlFileName) {
PMML pmml= null;
InputStream is= null;try{if (pmmlFileName != null) {
is= PmmlInvoker.class.getClassLoader().getResourceAsStream(pmmlFileName);if(is==null){
is= newFileInputStream(pmmlFileName);
}
pmml=PMMLUtil.unmarshal(is);
}this.modelEvaluator =ModelEvaluatorFactory.newInstance().newModelEvaluator(pmml);
}catch(Exception e) {
e.printStackTrace();
}finally{try{if(is!=null)
is.close();
}catch(Exception localIOException3) {
localIOException3.printStackTrace();
}
}this.modelEvaluator.verify();
System.out.println("模型读取成功");
}//通过输入流读取模型
publicPmmlInvoker(InputStream is) {
PMML pmml;try{
pmml=PMMLUtil.unmarshal(is);try{
is.close();
}catch(IOException localIOException) {
}this.modelEvaluator =ModelEvaluatorFactory.newInstance().newModelEvaluator(pmml);
}catch(SAXException e) {
pmml= null;
}catch(JAXBException e) {
pmml= null;
}finally{try{
is.close();
}catch(IOException localIOException3) {
}
}this.modelEvaluator.verify();
}public Map invoke(MapparamsMap) {return this.modelEvaluator.evaluate(paramsMap);
}
}
转载地址:https://blog.csdn.net/weixin_32473663/article/details/114924871 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!