Corporate · onsite · online training worldwide
contact@DevOpsSchool.com· +91 99057 40781·
> Big Data Processing · DevOpsSchool Trainer

Spark Trainer

Private corporate batches, live online cohorts and 1-on-1 mentoring in distributed processing with DataFrames and Structured Streaming, and the tuning that decides job cost — taught by a practitioner who runs it in production.

20 years across DevOps, SRE and Security · 10,000+ engineers trained · Trained teams at JPMorgan Chase, Verizon, Nokia and the World Bank

DeliveryOnline · Onsite · Hybrid
FormatsCorporate · 1-on-1 · Cohort
AgendaCustomisable
Batch size8–30 engineers
Engineers we've trained work at
JPMorgan ChaseBank of AmericaWells FargoVerizonNokiaWorld BankGE HealthcareVMwareOracleQualcommMercedes-BenzAirbusDatadogSplunkDeloitteInfosysWiproCapgemini
# who teaches it

Your Spark trainer

Rajesh Kumar

Principal DevOps Engineer & Architect

Early-bird MLOpsAIOps practitionerData platform operations20 years in productionPrincipal / architect roles10,000+ engineers trainedM.Tech BITS Pilani25+ certifications

Rajesh teaches Spark around its execution model rather than its API surface: lazy evaluation and the DAG, jobs to stages to tasks, and the shuffle as the operation that determines cost. Sessions cover partitioning and skew, broadcast versus sort-merge joins, the unified memory model, caching decisions, Adaptive Query Execution and reading the Spark UI to find the real bottleneck — then move on to Structured Streaming with watermarks, state and checkpointed exactly-once delivery, and to running Spark on YARN and Kubernetes in production.

Twenty years across DevOps, SRE and Security, in principal and architect roles at PayPay, SoftwareAG, ServiceNow, JDA Software, Intuit, Adobe and others. He has trained engineers at JPMorgan Chase, Verizon, Nokia, the World Bank, VMware, Oracle, Mercedes-Benz and Airbus — more than 10,000 people personally. He teaches what he runs, not what he reads.

One practitioner, not a bench

You are booked with a named engineer, and that is who turns up. Marketplaces and larger providers rotate whoever is free, so the person who sold you the agenda is rarely the person teaching it.

The same trainer is available for the next engagement, which matters when a team builds on what it learned last time.

18,000+certified learners
500+corporate batches delivered
50+countries served
100+certification programmes
# faculty

Who delivers Spark engagements

Your batch is assigned a named trainer before it starts, and that is who teaches it. See the full faculty.

How your Spark trainer is chosen

Engagements are matched on the tool, not the calendar. For Spark that means a trainer who has run it in production — distributed processing with DataFrames and Structured Streaming, and the tuning that decides job cost — rather than whoever is free that week. You are told who is teaching before you commit, and that person is on the discovery call that shapes the agenda.

Where a batch is large enough to need a second trainer, the pairing is declared up front. The lead trainer stays accountable for the syllabus and the assessment either way.

Rajesh Kumar

Principal DevOps Engineer & Architect

India20 yrsLead trainer

Twenty years across DevOps, SRE and Security in principal and architect roles at PayPay, SoftwareAG, ServiceNow, JDA Software, Intuit, Adobe, IBM/Emptoris, Ness, MindTree and Accenture. He has trained more than 10,000 engineers personally, at organisations including JPMorgan Chase, Verizon, Nokia, the World Bank, VMware, Oracle, Mercedes-Benz and Airbus. He teaches what he runs, not what he reads.

Anil Kumar

IndiaInstructorCoach

Balachandran Anbalagan

IndiaInstructorCoach

Durga Prasad

IndiaInstructorCoach

Gaurav Aggarwal

IndiaInstructorCoach

Harsh Mehta

IndiaInstructorCoach

Kapil Gupta

IndiaInstructorCoach

Kunal Jain

IndiaInstructorCoach

Nikhil Gupta

IndiaInstructorCoach

Pranab Kumar

IndiaInstructorCoach

Rohit Ghatol

IndiaInstructorCoach

Amit Agarwal

IndiaInstructorCoach

# how to engage

Four ways to work with this trainer

Private corporate batch

Teams of 8–30

Custom agenda, your timezone, onsite or online, NDA-friendly.

Request a quote

1-on-1 mentoring

Individual engineers

A private instructor and a curriculum built around your goal.

₹99,999

Live & Interactive cohort

Individuals who want peers

Scheduled batch, max 8 to 10 hours of live instruction.

₹34,999

Self-paced video

Self-starters

Full LMS access — 20+ courses and 50+ tools included.

₹833/mo
# private batches

Private Spark training for your team

A private batch starts with a discovery call. We look at the stack you actually run — the CI system, the cloud, the constraints — and map the agenda onto it, so examples use your topology rather than a generic one.

Delivery is onsite at your premises, live online, or hybrid, scheduled around your release calendar rather than ours. Batches run 8 to 30 engineers.

Every attendee leaves with recordings, slides, lab repositories and a completion certificate. You receive an attendance and assessment report. Invoicing supports PO and GST.

Talk to us about a private Spark batch

What you provide vs what we bring

  • You: the room or the call, and the engineers
  • Us: trainer, agenda, labs, assessment, certificates
  • Labs: we guide your team through provisioning their own free-tier cloud environment — the skill goes with them
# the technology

What is Spark?

Apache Spark is a distributed processing engine for large-scale data. A Spark application is a driver program that builds a plan and a set of executors that run the work; between them sit a cluster manager — YARN, Kubernetes, standalone or a managed service — and a scheduler that turns the plan into stages and tasks. Nothing executes when you write a transformation. Spark records it lazily, and only an action forces the accumulated graph to run, which is what lets the engine optimise across the whole chain rather than statement by statement.

The API has two layers. RDDs are the original abstraction: a partitioned, immutable collection with a lineage that allows lost partitions to be recomputed after a failure. DataFrames and Datasets sit above them and carry a schema, which is what makes the Catalyst optimiser and the Tungsten execution engine possible — predicate pushdown, column pruning, join reordering and generated code that avoids the overhead of interpreting each row. In practice almost all new Spark code should be DataFrames or Spark SQL, with RDDs reserved for the cases the structured API cannot express.

Performance in Spark is dominated by one operation: the shuffle. Any transformation that redistributes data across partitions — a wide dependency such as a join, a group-by or a repartition — writes to disk and moves data over the network, and almost every slow job traces back to too much shuffle, badly sized partitions or skew that leaves one task doing most of the work. Understanding the memory model, join strategies, Adaptive Query Execution and how to read the Spark UI is therefore the difference between a job that costs a few dollars and the same job costing hundreds. Structured Streaming extends the same engine and the same DataFrame API to unbounded data, adding event-time watermarks, stateful operations and checkpointed exactly-once processing.

Why this skill matters now

Spark is the default processing engine for large data. It runs the batch ETL behind most warehouses and lakehouses, the feature pipelines behind most production models, and a large share of streaming workloads, on every major cloud and inside Databricks, EMR, Dataproc and Synapse.

What makes the skill valuable is that Spark is easy to write and hard to run well. Anyone can produce a PySpark script that returns the right answer; the same script may take four hours and forty executors when a correctly partitioned version with a broadcast join takes eight minutes on four. In cloud environments that difference is billed directly, monthly, which is why Spark tuning is one of the few engineering skills with an obvious and immediate financial return.

The second driver is convergence. Batch and streaming now share one API, lakehouse table formats are read and written through Spark, and feature engineering for machine learning increasingly runs on the same engine. An engineer who understands Spark's execution model can work across data engineering, analytics and ML infrastructure rather than being confined to one of them.

Spark training
# outcomes

What your team can do afterwards

Explain how a Spark application executes — driver, executors, DAG, stages, tasks — and predict where time will go
Write idiomatic DataFrame and Spark SQL code, and read an explain plan to see what Catalyst did with it
Control partitioning deliberately, and choose between repartition, coalesce and bucketing for a given job
Identify and fix skew, and choose the right join strategy instead of accepting the default
Size executors, cores and memory for a workload, and cache only where caching actually pays
Diagnose a slow or failing job from the Spark UI — stage timings, shuffle volume, spill, GC and stragglers
Build Structured Streaming pipelines with event-time watermarks, stateful aggregation and exactly-once sinks
Run Spark in production: spark-submit, dependency packaging, Kubernetes or YARN, history server and cost control
# curriculum

8 modules. Live demos in a real lab, not slides.

01Why Spark, and how it executesLive & Interactive5 hrs · 2 assignments · 1 capstone

The engine before the API. Where Spark came from and what it changed relative to MapReduce, then the execution model in detail: driver and executors, the cluster managers it runs under, lazy evaluation, and the translation from your code into a DAG of jobs, stages and tasks.

Topics: From MapReduce to a unified engine · Driver, executors and the cluster manager · Standalone, YARN, Kubernetes and managed platforms · Client vs cluster deploy mode · Lazy evaluation and the DAG · Jobs, stages, tasks and the scheduler · Narrow vs wide dependencies · Language bindings: Scala, PySpark, SQL and R · Setting up a working Spark environment

  • Assignments: (1) Run one job and map its code to the jobs, stages and tasks in the UI; (2) Compare client and cluster deploy mode behaviour for the same application
  • Capstone: Explain a real job's execution plan end to end, from code to task distribution
02RDDs and the core APILive & Interactive5 hrs · 2 assignments · 1 capstone

The original abstraction, taught because it makes the engine's behaviour visible. Creating RDDs and loading data, transformations against actions, closures and serialisation, key-value operations and the difference between reduceByKey and groupByKey, shared variables, and persistence with lineage-based recovery.

Topics: What an RDD is: partitions, lineage, immutability · Loading data and creating RDDs · Transformations vs actions · Lambdas, closures and serialisation pitfalls · Key-value pair operations · reduceByKey vs groupByKey and why it matters · Accumulators and broadcast variables · Persistence and storage levels · Fault recovery through lineage · When to still reach for an RDD

  • Assignments: (1) Rewrite a groupByKey job as reduceByKey and measure the shuffle difference; (2) Trigger a serialisation failure with a closure and then fix it
  • Capstone: Implement a multi-stage RDD pipeline and account for every shuffle it performs
03DataFrames, Datasets and Spark SQLLive & Interactive5 hrs · 2 assignments · 1 capstone

The API almost all production Spark should use, and the optimiser it enables. Schemas and types, reading and writing every common format and source, SQL against temporary views, user-defined functions and why they are expensive in PySpark, and Catalyst and Tungsten made visible through explain plans.

Topics: DataFrames, Datasets and typed vs untyped APIs · Schemas, inference and explicit definition · Reading and writing Parquet, ORC, JSON, CSV and JDBC · Temporary views and Spark SQL · Column expressions, functions and window functions · UDFs, pandas UDFs and the serialisation cost · The Catalyst optimiser: rules and stages · Tungsten and whole-stage code generation · Reading and acting on explain plans · Predicate pushdown and column pruning

  • Assignments: (1) Replace a Python UDF with native expressions and measure the improvement; (2) Read two explain plans and explain exactly what Catalyst changed
  • Capstone: Convert an RDD pipeline to the structured API and prove the optimiser is doing work for you
04Partitioning, shuffle and joinsLive & Interactive5 hrs · 2 assignments · 1 capstone

The module that most job cost traces back to. Partition count and parallelism, repartition against coalesce, what a shuffle physically does, then join strategies — broadcast hash, sort-merge and shuffle hash — and skew, which is the single most common cause of a job whose last task runs for an hour.

Topics: Partitions, parallelism and default partition counts · repartition vs coalesce and when each is correct · The shuffle mechanism: write, fetch, sort · Shuffle partitions and how to size them · Broadcast hash join and the broadcast threshold · Sort-merge join and shuffle hash join · Detecting skew from stage task distribution · Skew mitigation: salting, AQE skew join, filtering hot keys · Bucketing to avoid repeated shuffles · Spill to disk and its symptoms

  • Assignments: (1) Force a broadcast join on a job that was sort-merging and quantify the gain; (2) Introduce and then fix a skewed join with salting and with AQE
  • Capstone: Take a job dominated by shuffle and restructure it to cut runtime substantially, with evidence
05Memory, caching and performance tuningLive & Interactive5 hrs · 2 assignments · 1 capstone

Making the job fit and go fast. The unified memory model and how execution and storage compete, sizing executors, cores and overhead, dynamic allocation, when caching helps and when it wastes memory, serialisation choices, Adaptive Query Execution, and the Spark UI as the primary diagnostic tool.

Topics: The unified memory model: execution vs storage · Executor memory, overhead and off-heap · Cores per executor and the parallelism trade-off · Dynamic allocation and the external shuffle service · Caching and persistence decisions · Kryo serialisation and object overhead · Adaptive Query Execution: coalescing, skew and join switching · Reading the Spark UI: stages, tasks, shuffle, spill, GC · Stragglers, speculative execution and data locality · Diagnosing OutOfMemory in driver and executor

  • Assignments: (1) Size executors for a fixed cluster and justify the choice against alternatives; (2) Diagnose an executor OOM from the UI and fix it without simply adding memory
  • Capstone: Produce a tuning report for a real job with before-and-after metrics for each change
06Structured StreamingLive & Interactive5 hrs · 2 assignments · 1 capstone

The same engine applied to unbounded data. The micro-batch model and how a streaming query is just an incrementally executed DataFrame query; sources and sinks including Kafka; event time, watermarks and late data; stateful aggregations and joins; and checkpointing for exactly-once processing across restarts.

Topics: The Structured Streaming model and incremental execution · Sources and sinks, including Kafka and file sources · Output modes: append, update, complete · Triggers, micro-batch and continuous processing · Event time vs processing time · Watermarks and handling late data · Windowed aggregations: tumbling, sliding, session · Stateful operations and the state store · Stream-static and stream-stream joins · Checkpointing, recovery and exactly-once semantics · Monitoring streaming queries and backpressure

  • Assignments: (1) Build a Kafka-sourced streaming aggregation with a watermark and prove late-data handling; (2) Restart a streaming job from checkpoint and confirm no duplicates or gaps
  • Capstone: Deliver a streaming pipeline with stated delivery semantics that survives a mid-run failure
07Spark in the data platformLive & Interactive5 hrs · 2 assignments · 1 capstone

Where Spark sits among everything else. Open table formats used through Spark, ACID operations and time travel, MERGE for change data capture and deletions, table maintenance, catalogues and metastores, an overview of MLlib, and an honest comparison against warehouses and dedicated streaming engines.

Topics: Delta Lake and Apache Iceberg through Spark · ACID transactions, snapshots and time travel · MERGE, upserts and compliance deletes · Compaction, clustering and file-size maintenance · Hive metastore and modern catalogues · Partition strategy for lakehouse tables · MLlib: pipelines, feature transformers, model training · Spark for feature engineering in ML workflows · Spark against cloud warehouses and against Flink

  • Assignments: (1) Perform a MERGE-based upsert into a table format and query a previous version; (2) Compare the same aggregation in Spark and in a warehouse on cost and runtime
  • Capstone: Build a lakehouse ingestion job with upserts, compaction and a documented maintenance schedule
08Running Spark in productionLive & Interactive5 hrs · 2 assignments · 1 capstone

Everything between a working script and a reliable scheduled job. Submitting and configuring applications, packaging dependencies for Scala and Python, running on Kubernetes or YARN, capacity and cost control, log aggregation and the history server, testing, and CI for Spark applications.

Topics: spark-submit and configuration precedence · Packaging: assembly JARs, Python dependencies, containers · Spark on Kubernetes vs Spark on YARN · Managed platforms: EMR, Dataproc, Databricks, Synapse · Dynamic allocation, autoscaling and spot instances · Cost per job and cluster right-sizing · History server, event logs and log aggregation · Retries, idempotency and safe reruns · Unit and integration testing of Spark applications · CI/CD for Spark jobs · Common production failures and their signatures

  • Assignments: (1) Package and submit a job to two cluster managers with the same configuration intent; (2) Add unit and integration tests to an existing Spark application and run them in CI
  • Capstone: Ship a tested, packaged, scheduled Spark job with cost, monitoring and rerun behaviour defined

Need this mapped to your stack?

We rebuild the agenda around the tools you actually run.

Request a custom agenda
# hands-on

Labs and capstones your engineers actually build

LAB · EXECUTION

Read the DAG

Run a multi-stage job and map every line of code to the jobs, stages, tasks and shuffles the Spark UI reports, then predict the plan before running a variant.

dagstagesspark ui
LAB · SHUFFLE

The last task that ran for an hour

Diagnose a skewed join from stage task distribution, fix it with broadcast, salting and AQE in turn, and compare all three outcomes.

skewjoinsaqe
LAB · TUNING

Same job, a fraction of the cost

Take a job that occupies forty executors for hours, then fix partitioning, join strategy, caching and executor sizing until it fits a small cluster.

tuningmemorypartitions
LAB · SQL

Kill the UDF

Replace Python UDFs with native expressions and window functions, compare explain plans, and measure the serialisation cost you removed.

spark sqlcatalystudf
LAB · STREAMING

Exactly once, through a crash

Build a Kafka to lakehouse streaming job with watermarks and stateful aggregation, kill it mid-batch, and prove the output has no gaps or duplicates.

structured streamingwatermarkcheckpoint
CAPSTONE · PRODUCTION

A Spark job you can schedule

Deliver a packaged, tested, tuned job running on Kubernetes or YARN with idempotent reruns, log aggregation, monitoring and a per-run cost figure.

spark-submitkubernetesci
# ecosystem

The tools Spark sits next to

Hadoop
YARN
Kubernetes
Kafka
Delta Lake
Hive
Databricks
Airflow
Parquet
Scala
Python
Prometheus

Who this is for

  • Data engineers building batch and streaming pipelines
  • Software engineers whose jobs run on Spark and cost more than they should
  • Analytics engineers moving beyond warehouse SQL into distributed processing
  • Platform and DevOps engineers running Spark on Kubernetes, YARN or a managed service
  • ML engineers doing feature engineering at scale
  • Architects choosing between Spark, warehouses and dedicated streaming engines

Pre-requisites

  • Programming in Python or Scala — functions, collections, reading existing code
  • Working SQL including joins, aggregation and window functions
  • Comfortable on a Linux command line
  • Basic understanding of distributed storage and file formats
  • Access to a free-tier cloud account or a local machine able to run Spark
# pricing

Straightforward pricing

Every plan includes 1 year of full LMS access — not just this course, the entire DevOpsSchool LMS: 20+ courses, 50+ tools, videos, quizzes, assignments and projects.

Self-paced video

₹833/mo

Billed yearly at ₹9,996

Enroll now

1-on-1 mentorship

₹99,999

Full program, private instructor

Enroll 1-on-1

Corporate / private batch

8–30 engineers · custom agenda · onsite or online · PO and GST invoicing

Get a custom quote

Refunds. If we cancel or postpone a cohort, you get a full refund within 15 days. There is no money-back guarantee otherwise.

Terms. Course material remains licensed to the attendee. Read the terms.

Your data. We don't share it with third parties. Privacy policy.

Every attendee gets a verifiable certificate

  • Issued per attendee on completion
  • Verifiable at devopsschool.com/certificates
  • Hard copy available on request
  • Corporate batches receive an attendance and assessment report
DevOpsSchool

Spark Training

Certificate of completion

# feedback

What engineers say

4.4 / 5 from 26 reviews on Trustpilot.

★★★★★
Rajesh is a very good trainer I have experienced in DevSecOps training. The number of contents in different topics he has posted on the DevOpsSchool public website are amazing and user friendly for beginners and experienced professionals.
Ashutosh Mishra · Trustpilot
★★★★★
The trainer (Rajesh) provided very good sessions on SRE profession. Not only hands-on learning on the tools but also SRE mindset.
Peter Wang · Trustpilot
★★★★★
Very good training session. Well explained from the basics to the complex concepts. Also tried to cover practicals and demos within the 3 hour sessions. The learning content and videos are of a great deal of help.
Sreekanth Kannoth · Trustpilot
★★★★★
Basics explanation was exemplary from Rajesh where he dealt with complicated topics to be simple. Great learning stuff personally for me.
Krishna Mohan Yelleti · Trustpilot
★★★★★
Very detailed explanation and has lots of patience in attending the questionnaire. Thanks again for your wonderful sessions.
Uttam Samudrala · Trustpilot
★★★★★
Good discussion, helped us to understand different tools in SRE.
Prashant Saxena · Trustpilot
# comparison

Why a named practitioner beats a marketplace listing

What mattersYouTube + blogsGeneric online courseFreelance marketplaceDevOpsSchool
Named practitionerNoRarelyVaries per bookingYes — same trainer each time
Production experienceUnknownUnknownUnverified20 years, named employers
Custom agendaNoNoSometimesBuilt from your stack
Onsite deliveryNoNoSometimesYes
Lab environmentNoneSandbox that expiresVariesYour own cloud — skill goes with you
AssessmentNoneQuizRarelyAssignments + capstone per module
Per-attendee certificatesNoSometimesRarelyYes
Corporate invoicingNoLimitedVariesPO and GST
Post-training supportNoneForum, time-limitedNoneLifetime forum access
# questions

Frequently asked

Can the agenda be customised for our stack?
Yes — that is the normal case for a private batch. We start with a discovery call, look at the cluster manager, storage, table format and language you actually run, and rebuild the module list around them.
Do you deliver onsite?
Yes. Private batches run onsite at your premises, live online, or hybrid. You provide the room and the engineers; we bring the trainer, agenda, labs, assessment and certificates.
What lab environment do we need?
Attendees provision their own environment — free-tier AWS, Azure or GCP, or local VMs — and we walk them through it. We deliberately do not hand out temporary sandboxes, because the environment they build is the one they keep.
PySpark or Scala?
PySpark by default, since it is what most teams write. Scala examples are shown throughout, and a private batch can be delivered entirely in Scala where that matches your codebase.
Do we need a large cluster for the labs?
No. Skew, shuffle, join strategy and memory behaviour all reproduce faithfully on a small cluster or even locally with generated data. What matters is reading the Spark UI correctly, and that is identical at any scale.
Will this reduce our cloud data processing bill?
That is the explicit aim of modules 4, 5 and 8. Partitioning, join strategy, executor sizing and caching decisions are where the money is, and every tuning exercise is measured before and after rather than asserted.
Do you cover Databricks?
Spark on Databricks is covered as one runtime among several, including Photon and Delta specifics. If Databricks is your platform, a private batch can be delivered entirely on it.
Does this cover Structured Streaming or only batch?
Both. Module 6 is a full treatment of Structured Streaming — watermarks, state, output modes, checkpointing and exactly-once — with Kafka as the source, not a closing overview slide.
How long does a private Spark batch take?
Typically four days. Execution model, structured API and tuning fit in three; adding Structured Streaming, lakehouse integration and production operations takes it to four or five.
What size are batches?
Private corporate batches run 8 to 30 engineers. Public Live & Interactive cohorts are capped at 10 so everyone gets time with the trainer.
Do attendees get a certificate?
Yes — every attendee receives a completion certificate, verifiable at devopsschool.com/certificates. Corporate batches also receive an attendance and assessment report.
What is your refund position?
If we cancel or postpone a cohort, you receive a full refund within 15 days. There is no general money-back guarantee, and GST and gateway fees are not refunded.

Still deciding?

Tell us the team, the stack and the timeline. You'll get a straight answer, not a sales sequence.

Talk to an advisor
# ready when you are

Book a Spark trainer — or ask a question first.

  • No spam, no drip sequence
  • Syllabus in 60 seconds
  • A human reply within one business day

Prefer to call or email?

More ways to reach us on the contact page.

Talk to an advisorRequest a quote