spark mllib训练模型后如何做在线预测

最近在想一个问题,使用spark mllib训练后的模型如何做一个在线预测的服务? 毕竟mllib只提供离线的训练和预测。想到大概有四种方法:

1. 使用spark streaming + kafka

直接使用spark streaming加载训练好的模型,然后通过从kafka上读取特征来预测数据,并将预测结果写回kafka中供客户端获取到。

2. spark + grpc

通过将spark mllib中的predict函数做成rpc service的形式,具体参考:

https://scalapb.github.io/grpc.html

3. spark + spray

通过spark mllib中的predict函数做restful的形式来预测。

4. spark + python flask

通过python调用spark mllib训练好的模型,借助flash提供接口

5. spark + python grpc

通过python grpc调用spark mllib训练好的模型,提供其它语言rpc接口

 

 

目前方法1, 4, 5是可行, 方法2,3并没有实际实现的经验,还需再探索。

作者: hqiang1984

量化自我,极简主义

《spark mllib训练模型后如何做在线预测》有1个想法

评论已关闭。