Summary
The goal of any recommendation system is to recommend products, such as movies, music, books, news, search queries, and products, to targeted users. Broadly, there are two approaches to build recommendation systems—content-based filtering and collaborative filtering. While content-based filtering is based on item attributes, collaborative filtering is based on users and items.
Spark's MLlib implements a collaborative filtering algorithm called Alternating Least Squares (ALS) to build recommendation systems with explicit feedback or implicit feedback from users. Recommendation systems with lambda architecture can be built using Mahout and Solr, which are used for real-time recommendations.
The next chapter introduces graph analytics with GraphX.