
Linkedin - www.linkedin.com/in/suprobho-santra
Learn how performance tuning aims to improve throughput, reduce CPU utilization and costs, and lower operation failures by benchmarking measurable, repeatable, and consistent tests to pinpoint bottlenecks.
Understand benchmarking by comparing current and optimized code in a controlled environment, drilling down to a code section, using measurable metrics for repeatable, consistent results.
Explore Spark's master–slave architecture and how a driver coordinates executors across a cluster. Understand the job flow from submission to final results, including resources, tasks, data partitions, and progress reporting.
Understand how Spark executes jobs: actions define jobs, driver creates logical plans, breaks into stages with wide and narrow transformations, and uses shuffle, tasks, and partitions.
Explore spark ui to see how partitions map to cores and memory, and observe jobs, stages, and dag flow during read, filter, and write operations.
Explore how spark builds physical plans and DAGs for joins and group by operations, using hash partitioning, shuffle, and sort-merge join, with partial and final aggregates for efficient data processing.
Discover why reusing a data frame causes repeated storage reads in Spark, and how explicit in-memory caching enables faster, repeated queries across multiple actions.
Eliminate unused columns when caching data frames to reduce memory and read data, improving first-query latency and subsequent cached-query performance on parquet datasets.
Partition data by year and month to enable predicate pushdown and reduce storage reads. This row elimination approach enhances linear scalability for filtered queries by reading only the needed data.
Explore the directory scan problem in Spark when reading partitioned data and hierarchical year month day hour directories, and learn to mitigate with low-cardinality partitions, z-order indexing, and bucketing.
Understand the haystack query problem and learn to use partitioning and z-order indexing to enable predicate pushdown, partition pruning, and faster day/hour filters.
Unlock the true potential of Apache Spark by mastering storage-related performance tuning techniques. This hands-on course is packed with real-world scenarios, guided demos, and practical use cases that will help you fine-tune Spark storage strategies for speed, efficiency, and scalability.
This course is perfect for Intermediate Data Engineers & Spark Developers as well as Aspiring Achitects who wants to optimize Spark jobs, reduce resource costs, and ensure fast, reliable performance for large-scale data applications.
What You’ll Learn
1. Understand how Apache Spark handles storage internally: memory vs disk
2. Learn when and how to use Spark caching and persistence effectively
3. Compare and choose the right storage levels: MEMORY_ONLY, MEMORY_AND_DISK, etc.
4. Use real-world examples and hands-on demos to benchmark storage decisions
5. Learn how to monitor storage metrics using the Spark UI
6. Handle memory spills, disk I/O bottlenecks, and storage tuning in cluster environments
7. Apply best practices for storage optimization in cloud and on-prem Spark clusters
Why Take This Course?
100% Hands-on: Focused on practical implementation, not just theory
Designed for Data Engineers, Spark Developers, and Big Data Practitioners
Covers both foundational concepts and advanced tuning techniques
Teaches how to measure performance gains using real metrics
Helps you make cost-efficient decisions for big data storage
Tools & Technologies Covered
Apache Spark (2.x and 3.x)
DataBricks
Spark UI
HDFS, DataLake (for storage scenarios)