背景:
建模小组使用Scala开发的Spark机器学习模型(PipelineModel),保存到HDFS某个指定位置。
业务/开发小组需要在Java开发的Web应用程序中加载该模型,对用户提交的数据进行预测。
实现:
实现原理如下图:
![63359931d8ae90be68ef357c449ea3d6.png](https://i-blog.csdnimg.cn/blog_migrate/5505518203de3f4fdc2b238b50e29f26.png)
这里我省略使用Scala进行模型训练和存储的过程。主要讲如何在Java Web程序中加载该模型,并应用它进行预测。
在Java程序中的代码实现如下:(注意:重点是下面***部分的代码。)
// ......
// 创建SparkSession
SparkSession spark = SparkSession.builder().appName("Java Spark Demo").master("local[*]").getOrCreate();
// 使用HanLP自然语言处理包进行中文分词
// HanLPTokenizer是自定义的分词工具类
HanLPTokenizer hanlpTokenizer = new HanLPTokenizer();
String result = hanlpTokenizer.tokens("章子怡演过什么电影");
/