This course covers all the fundamentals about Apache Spark with Python and teaches you everything you need to know about developing Spark applications using PySpark, the Python API for Spark. At the end of this course, you will gain in-depth knowledge about Apache Spark and general big data analysis and manipulations skills to help your company to adapt Apache Spark for building big data processing pipeline and data analytics applications. This course covers 10+ hands-on big data examples. You will learn valuable knowledge about how to frame data analysis problems as Spark problems. Together we will learn examples such as aggregating NASA Apache web logs from different sources; we will explore the price trend by looking at the real estate data in California; we will write Spark applications to find out the median salary of developers in different countries through the Stack Overflow survey data; we will develop a system to analyze how maker spaces are distributed across different regions in the United Kingdom. And much much more. What will you learn from this lecture: In particularly, you will learn: An overview of the architecture of Apache Spark. Develop Apache Spark 2.0 applications with PySpark using RDD transformations and actions and Spark SQL. Work with Apache Spark's primary abstraction, resilient distributed datasets(RDDs) to process and analyze large data sets. Deep dive into advanced techniques to optimize and tune Apache Spark jobs by partitioning, caching and persisting RDDs. Scale up Spark applications on a Hadoop YARN cluster through Amazon's Elastic MapReduce service. Analyze structured and semi-structured data using Datasets and DataFrames, and develop a thorough understanding of Spark SQL. Share information across different nodes on an Apache Spark cluster by broadcast variables and accumulators. Best practices of working with Apache Spark in the field. Big data ecosystem overview.