In educational institutions, E-learning has been known as a successful technology for enhancing performance, concentration, and thus providing higher academic success. Nevertheless, the conventional system for executing research work and selecting courses is a time-consuming and unexciting practice, that not only directly impacts the students ’ academic achievement but also impacts the learning experience of students. In addition to that, there is an enormous number of various kinds of data in the E-Learning domain both structured and unstructured, and the academic establishments attempt to manage and understand big complicated data sets. To fix this problem, this paper proposes a model of an E-learning recommendation system that will suggest and encourage the learner in choosing the courses according to their needs. This system used big data tools such as Hadoop and Spark to enhance data collection, storage, analysis, processing, optimization, and visualization, furthermore based on cloud computing infrastructure and especially Google cloud services.