如何将Apache Spark与Spring MVC Web应用程序集成以进行交互式用户会话

har*_*der 12 java machine-learning spring-mvc apache-spark apache-spark-mllib

我正在尝试使用Apache Spark MLlib构建一个Movie Recommender系统.我在java中编写了一个推荐代码,并且在使用spark-submit命令运行时工作正常.

我的运行命令看起来像这样

bin/spark-submit --jars /opt/poc/spark-1.3.1-bin-hadoop2.6/mllib/spark-mllib_2.10-1.0.0.jar --class "com.recommender.MovieLensALSExtended" --master local[4] /home/sarvesh/Desktop/spark-test/recommender.jar /home/sarvesh/Desktop/spark-test/ml-latest-small/ratings.csv /home/sarvesh/Desktop/spark-test/ml-latest-small/movies.csv

现在我想在真实场景中使用我的推荐器,作为一个Web应用程序,我可以在其中查询推荐器以给出一些结果.

我想构建一个Spring MVC Web应用程序,它可以与Apache Spark Context交互,并在被问到时给我结果.

我的问题是我如何构建一个与群集上运行的Apache Spark交互的应用程序.因此,当请求到达控制器时,它应该接受用户查询并获取与spark-submit控制台上的命令输出相同的结果.

据我所知,我发现我们可以使用Spark SQL,与JDBC集成.但我没有找到任何好的例子.

提前致谢.

小智 1

要与数据模型交互(调用其调用方法?),您可以在驱动程序内构建一个休息服务。该服务侦听请求,并使用请求的输入调用模型的预测方法,然后返回结果。

http4s ( https://github.com/http4s/http4s ) 可以用于此目的。

Spark SQL 不相关,因为它是通过 sql 功能来处理数据分析(您已经完成了)。

希望这可以帮助。