我正在从 kafka 流中读取我的 spark 应用程序中的数据流。我的要求是在用户提出任何请求(搜索/浏览等)时为他提供产品推荐
我已经有一个包含用户分数的训练模型。我正在使用 Java 和 org.apache.spark.mllib.recommendation.MatrixFactorizationModel 模型在我的 spark 应用程序启动时读取模型一次。每当有任何浏览事件时,我都会调用 RecommendationProducts(user_id, num_of_recommended_products) API 从我已经存在的训练模型中为用户生成推荐。
这个 API 需要大约 3-5 秒来为每个用户生成结果,这非常慢,因此我的流处理落后了。有什么方法可以优化这个 API 的时间吗?我正在考虑将流持续时间从 15 秒增加到 1 分钟作为优化(现在不确定它的结果)