Any database is too slow for real-time queries, so any approach involves caching a dataset in memory, which I assume you already do with ReloadFromJDBCDataModel . Just use refresh() to reload it at any time. He should do it in the background. The trick is that downloading a new model will require a lot of memory to work with the old one. You can use your own solutions, which, say, reload the user at a time.
There are no such things as real-time updates on Hadoop. It is best to use Hadoop to fully and correctly batch calculate the results, and then tune them at runtime (imperfectly) based on the new data in the application that holds and maintains the recommendations.
source share