Course Outline
PySpark & Machine Learning
Module 1: Big Data & Spark Fundamentals
- An overview of the Big Data landscape and Spark's role in modern data platforms
- Examining Spark architecture: drivers, executors, cluster managers, lazy evaluation, DAGs, and execution planning
- Distinguishing between RDD and DataFrame APIs and determining when to apply each approach
- Establishing and configuring SparkSession and grasping the basics of application settings
Module 2: PySpark DataFrames
- Importing and exporting data from enterprise sources and formats (CSV, JSON, Parquet, Delta)
- Utilizing PySpark DataFrames for transformations, actions, column expressions, filtering, joins, and aggregations
- Implementing advanced operations like window functions, timestamp handling, and navigating nested data structures
- Executing data quality validations and crafting reusable, maintainable PySpark code
Module 3: Efficient Processing of Large Datasets
- Grasping performance basics: partitioning strategies, shuffle behavior, caching, and persistence
- Applying optimization techniques such as broadcast joins and analyzing execution plans
- Processing large volumes of data efficiently and adhering to best practices for scalable workflows
- Understanding schema evolution and contemporary storage formats prevalent in enterprise environments
Module 4: Large-Scale Feature Engineering
- Conducting feature engineering with Spark MLlib: addressing missing values, encoding categorical variables, and scaling features
- Designing reusable preprocessing steps and preparing datasets for Machine Learning pipelines
- Introduction to feature selection and strategies for managing imbalanced datasets
Module 5: Machine Learning with Spark MLlib
- Understanding the MLlib architecture and the Estimator/Transformer paradigm
- Training regression and classification models at scale (Linear Regression, Logistic Regression, Decision Trees, Random Forest)
- Comparing model performance and interpreting outcomes in distributed Machine Learning contexts
Module 6: End-to-End ML Pipelines
- Constructing complete Machine Learning pipelines that integrate preprocessing, feature engineering, and modeling
- Implementing train/validation/test split methodologies
- Executing cross-validation and hyperparameter tuning using grid search and random search techniques
- Structuring reproducible Machine Learning experiments
Module 7: Model Evaluation & Practical ML Decision Making
- Selecting appropriate evaluation metrics for regression and classification tasks
- Detecting overfitting and underfitting to make informed model selection decisions
- Interpreting feature importance and gaining insights into model behavior
Module 8: Production & Enterprise Practices
- Saving and loading models within Spark
- Implementing batch inference workflows for large datasets
- Understanding the Machine Learning lifecycle in enterprise contexts
- Introduction to version control, experiment tracking concepts, and fundamental testing strategies
Practical Outcome
- Proficiency in working independently with PySpark
- Capability to process large datasets with high efficiency
- Skill in performing feature engineering at scale
- Ability to build scalable Machine Learning pipelines
Requirements
Candidates are expected to possess the following foundational knowledge:
Proficiency in basic Python programming, including the use of functions, data structures, and libraries
A solid grasp of core data analysis concepts, such as datasets, transformations, and aggregations
Fundamental understanding of SQL and relational database concepts
Basic knowledge of Machine Learning principles, including training sets, features, and evaluation metrics
Recommended familiarity with command-line interfaces and standard software development workflows
While experience with Pandas, NumPy, or comparable data processing libraries is advantageous, it is not a strict requirement.
Testimonials (1)
I liked that it was practical. Loved to apply the theoretical knowledge with practical examples.