Apache Spark 3 for Data Engineering & Analytics with Python

via Udemy

Go to Course: https://www.udemy.com/course/introduction-to-python-for-big-data-engineering-with-pyspark/

Introduction

The Coursera course on Apache Spark and PySpark is an extensive and highly practical program designed to equip learners with a comprehensive understanding of big data processing using Spark. Whether you're a data analyst, data engineer, or aspiring data scientist, this course offers valuable insights into both the theoretical concepts and hands-on applications of Spark's powerful tools. Course Overview and Key Objectives: This course covers a broad spectrum of topics, starting with the fundamentals of Spark architecture and execution concepts. Learners will gain proficiency in Spark transformations and actions, mastering both the Structured API and RDD API through crash courses and detailed modules. The course emphasizes setting up your own local PySpark environment, interpreting Spark's web UI, and understanding DAG (Directed Acyclic Graph) for Spark execution, which are crucial skills for optimizing big data workflows. Hands-On Learning: One of the standout features of this course is the emphasis on practical exercises. You will learn to create and manage schemas, assign data types, and perform intricate read/write operations with DataFrames, including handling semi-structured data like JSON. The course also delves into data cleaning techniques, such as detecting and removing duplicates and handling missing data, which are vital for preparing datasets for analysis. Advanced Data Processing: The curriculum covers creating user-defined Spark functions, working with Parquet files, and performing complex aggregations and groupings using Spark SQL. You will learn to partition and write DataFrames efficiently, enabling scalable data storage and retrieval. The course also explores Spark SQL, including creating databases, tables, and visualizations with Databricks, along with writing complex SQL queries to extract meaningful insights. Real-World Projects: The course includes engaging, real-world projects such as sales data analysis, research data processing, and sales analytics. These projects involve creating Spark sessions, reading and transforming CSV datasets, producing analytics like top sales orders, and converting temperature units using RDDs. You will also build visualizations with Seaborn and Matplotlib to interpret your data visually, enhancing your analytical skills. Technology and Tools: The course utilizes a robust tech stack including Python, Jupyter Notebook/Lab, PySpark, Pandas, Matplotlib, Seaborn, and Databricks SQL. This combination ensures learners become proficient in popular tools for big data processing and visualization, preparing them for practical, real-world applications. Review: This course is highly comprehensive, balancing theoretical knowledge with extensive hands-on practice. The step-by-step approach makes complex topics accessible, and the projects simulate real-world scenarios, which significantly enhances learning outcomes. The inclusion of Databricks for cloud-based processing is a valuable addition, aligning with industry standards. Recommendations: I highly recommend this course to anyone looking to deepen their understanding of Spark and big data analytics. It's especially suitable for data professionals seeking practical skills in processing large datasets and generating actionable insights. The course's structured curriculum, coupled with real-world projects, makes it an excellent investment for advancing your data engineering or data science career. In summary, this Coursera course offers an in-depth, practical, and well-rounded education on Spark and PySpark, making it a valuable resource for aspiring data practitioners aiming to harness the power of big data technologies effectively.

Overview

The key objectives of this course are as follows;Learn the Spark ArchitectureLearn Spark Execution ConceptsLearn Spark Transformations and Actions using the Structured APILearn Spark Transformations and Actions using the RDD (Resilient Distributed Datasets) APILearn how to set up your own local PySpark EnvironmentLearn how to interpret the Spark Web UILearn how to interpret DAG (Directed Acyclic Graph) for Spark ExecutionLearn the RDD (Resilient Distributed Datasets) API (Crash Course)RDD TransformationsRDD ActionsLearn the Spark DataFrame API (Structured APIs)Create Schemas and Assign DataTypesRead and Write Data using the DataFrame Reader and WriterRead Semi-Structured Data such as JSONCreate and New Data Columns to the DataFrame using ExpressionsFilter the DataFrame using the "Filter" and "Where" TransformationsEnsure that the DataFrame has unique rowsDetect and Drop DuplicatesAugment the DataFrame by Adding New Rows Combine 2 or More DataFramesOrder the DataFrame by Specific ColumnsRenaming and Drop Columns from the DataFrameClean the DataFrame by detecting and Removing Missing or Bad DataCreate User-Defined Spark FunctionsRead and Write to/from Parquet FilePartition the DataFrame and Write to Parquet FileAggregate the DataFrame using Spark SQL functions (count, countDistinct, Max, Min, Sum, SumDistinct, AVG)Perform Aggregations with GroupingLearn Spark SQL and DatabricksCreate a Databricks AccountCreate a Databricks ClusterCreate Databricks SQL and Python NotebooksLearn Databricks shortcutsCreate Databases and Tables using Spark SQLUse DML, DQL, and DDL with Spark SQLUse Spark SQL FunctionsLearn the differences between Managed and Unmanaged TablesRead CSV Files from the Databricks File SystemLearn to write Complex SQLUse Spark SQL FunctionsCreate Visualisations with DatabricksCreate a Databricks DashboardThe Python Spark project that we are going to do together;Sales DataCreate a Spark SessionRead a CSV file into a Spark DataframeLearn to Infer a SchemaSelect data from the Spark DataframeProduce analytics that shows the topmost sales orders per Region and CountryConvert Fahrenheit to Degrees CentigradeCreate a Spark SessionRead and Parallelize data using the Spark Context into an RDDCreate a Function to Convert Fahrenheit to Degrees CentigradeUse the Map Function to convert data contained within an RDDFilter temperatures greater than or equal to 13 degrees celsiusXYZ ResearchCreate a set of RDDs that hold Research DataUse the union transformation to combine RDDsLearn to use the subtract transformation to minus values from an RDDUse the RDD API to answer the following questionsHow many research projects were initiated in the first three years?How many projects were completed in the first year?How many projects were completed in the first two years?Sales AnalyticsCreate the Sales Analytics DataFrame to a set of CSV FilesPrepare the DataFrame by applying a StructureRemove bad records from the DataFrame (Cleaning)Generate New Columns from the DataFrameWrite a Partitioned DataFrame to a Parquet DirectoryAnswer the following questions and create visualizations using Seaborn and MatplotlibWhat was the best month in sales?What city sold the most products?What time should the business display advertisements to maximize the likelihood of customers buying products?What products are often sold together in the state "NY"? Technology SpecPythonJupyter NotebookJupyter LabPySpark (Spark with Python)PandasMatplotlibSeaborneDatabricksSQL

Skills

Reviews