Ich lese Datenstrom in meiner Spark-Anwendung aus Kafka-Stream. Meine Anforderung besteht darin, eine Produktempfehlung für einen Benutzer zu erstellen, wenn er eine Anfrage stellt (suchen/browsen usw.).Funken Anwendung von Kafka-Stream dauert lange Zeit, um Empfehlung
Ich habe bereits ein geschultes Modell mit Benutzerzahlen. Ich benutze Java und org.apache.spark.mllib.recommendation.MatrixFactorizationModel Modell, um das Modell einmal zu Beginn meiner Spark-Anwendung zu lesen. Wann immer es ein Browsereignis gibt, rufe ich die recommendProducts (user_id, num_of_recommended_products) API auf, um eine Empfehlung für einen Benutzer aus meinem bereits vorhandenen trainierten Modell zu erstellen.
Diese API dauert ~ 3-5 Sekunden für die Generierung von Ergebnis pro Benutzer, die sehr langsam ist und daher meine Stream-Verarbeitung hinterherhinkt. Gibt es irgendwelche Möglichkeiten, wie ich die Zeit dieser API optimieren kann? Ich erwäge eine Erhöhung der Stream-Dauer von 15 Sekunden auf 1 Minute als eine Optimierung (nicht sicher von seinen Ergebnissen jetzt)