Course Outline
PySpark & Machine Learning
Module 1: Big Data & Spark Foundations
- An overview of the Big Data ecosystem and Spark's role in modern data platforms
- Comprehending Spark architecture: drivers, executors, cluster managers, lazy evaluation, DAGs, and execution planning
- Distinctions between RDD and DataFrame APIs and guidelines for selecting the appropriate approach
- Establishing and configuring SparkSession alongside fundamental principles of application configuration
Module 2: PySpark DataFrames
- Ingesting and exporting data from enterprise sources and formats (CSV, JSON, Parquet, Delta)
- Manipulating PySpark DataFrames: executing transformations and actions, managing column expressions, filtering, joining, and aggregating
- Executing advanced operations such as window functions, timestamp handling, and working with nested data structures
- Implementing data quality checks and writing maintainable, reusable PySpark code
Module 3: Processing Large Datasets Efficiently
- Grasping performance fundamentals: partitioning strategies, shuffle mechanics, caching, and persistence
- Utilizing optimization techniques such as broadcast joins and execution plan analysis
- Techniques for efficiently processing large datasets and adhering to best practices for scalable data workflows
- Understanding schema evolution and modern storage formats utilized in enterprise environments
Module 4: Feature Engineering at Scale
- Conducting feature engineering with Spark MLlib: managing missing values, encoding categorical variables, and scaling features
- Designing reusable preprocessing steps and preparing datasets for Machine Learning pipelines
- Introduction to feature selection methods and handling imbalanced datasets
Module 5: Machine Learning with Spark MLlib
- Understanding the MLlib architecture and the Estimator/Transformer design pattern
- Training regression and classification models at scale (Linear Regression, Logistic Regression, Decision Trees, Random Forest)
- Comparing model outcomes and interpreting results within distributed Machine Learning workflows
Module 6: End-to-End ML Pipelines
- Constructing comprehensive Machine Learning pipelines that integrate preprocessing, feature engineering, and modeling
- Applying strategies for splitting data into training, validation, and test sets
- Executing cross-validation and hyperparameter tuning using grid search and random search methods
- Organizing reproducible Machine Learning experiments
Module 7: Model Evaluation & Practical ML Decision Making
- Selecting and applying appropriate evaluation metrics for regression and classification tasks
- Detecting overfitting and underfitting to make informed practical decisions regarding model selection
- 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
- Gaining an understanding of the Machine Learning lifecycle in enterprise contexts
- Introduction to versioning, experiment tracking concepts, and fundamental testing strategies
Practical Outcome
- Competence in working independently with PySpark
- Skill in efficiently processing large datasets
- Capability to perform feature engineering at scale
- Ability to construct scalable Machine Learning pipelines
Requirements
Participants are expected to possess the following background knowledge:
Basic proficiency in Python programming, including experience with functions, data structures, and libraries
A fundamental grasp of data analysis concepts such as datasets, transformations, and aggregations
Foundational knowledge of SQL and relational database concepts
An introductory understanding of Machine Learning principles, including training datasets, features, and evaluation metrics
Familiarity with command-line interfaces and basic software development practices is recommended
Prior experience with Pandas, NumPy, or comparable data processing libraries is advantageous but not required.
Testimonials (1)
I liked that it was practical. Loved to apply the theoretical knowledge with practical examples.