Apache Spark has turned out to be the most sought-after skill for any big data engineer. An evolution of MapReduce programming paradigm, Spark provides unified data processing from writing SQL to performing graph processing to implementing Machine Learning algorithms. It effectively uses cluster nodes and better memory management to spread the load across cluster of nodes to get faster results. Apache Spark drives the mission of data-driven-decision-making in thousands of organizations. In order to fairly appreciate the benefits of the libraries of Apache Spark, it is essential to know the foundations right. This course aims exactly at that part. It starts from the beginner level and gradually explains all the complex concepts in an easy to reflect manner. It gives a profound description of the features and working of the framework through 5 different use cases with detailed hands on implementations. In fact, some hands-on sessions and solutions to the use-cases are explained in a full classroom mode with videos extending over 40 mins. After taking this course, you will gain the expertise on Spark Core and usage of further libraries like Spark SQL, Structured Streaming, Spark ML and GraphX will be much easier to visualize, implement and optimize. This illustrative course will build your foundational knowledge. You will learn the differences between batch & stream processing, programming model, the APIs and the challenges specific to stream processing. Quickly we’ll move to understand the concepts of stream processing with wide varieties of examples & hands-on, dealing with inner working and taking a use case towards the end. All of this activity will be on cloud using Spark 3.0.