Data Engineering · Advanced

Streaming and Big Data Engineering

Build event-driven systems and large-scale processing jobs with Apache Kafka and Apache Spark, covering delivery semantics, windowing, scaling, cost, and reliability.
LevelAdvancedDuration18 hoursFormatLive online cohortSchedule9 live online sessions x 2 hours, including guided hands-on lab time in every session

Course overview

What you'll learn

Streaming and Big Data Engineering covers the systems that handle data too large or too fast for a single database. You learn how Kafka stores and delivers events, how Spark distributes batch and streaming work, and how to reason about ordering, duplicates, and late data. The course closes on scaling, cost, and reliability so that what you build can be operated with confidence.

Who it's for

Data Engineers, Backend Engineers, Platform Engineers, Software Architects

By the end you will be able to

  • Explain Kafka topics, partitions, consumer groups, and offsets and how they affect ordering and parallelism
  • Write producers and consumers with appropriate acknowledgment, retry, and commit settings
  • Differentiate at-most-once, at-least-once, and exactly-once semantics and where each is achievable
  • Build Spark batch jobs using DataFrames and Spark SQL, and tune them using the Spark UI
  • Implement Structured Streaming queries with event-time windows, watermarks, and checkpointing
  • Evaluate scaling, cost, and reliability trade-offs including partition counts, state size, and failure recovery

Industry use cases

Examples from the work you do

Fintech

Publish payment events to Kafka and consume them idempotently so retries never double-post a transaction.

E-commerce

Compute near-real-time inventory and order metrics with Spark Structured Streaming using event-time windows.

Telecom

Aggregate high-volume network usage records in Spark batch jobs, tuning partitions and joins to control runtime and cost.

Logistics

Track vehicle and parcel events as streams, handling out-of-order and late-arriving data with watermarks.

Media

Build a clickstream pipeline from Kafka into a lakehouse table for both live dashboards and historical analysis.

Manufacturing

Ingest sensor telemetry through Kafka and detect threshold breaches with stateful stream processing.

Syllabus

7 modules, 18 hours.

Every module ends with a hands-on lab you can apply to your own work.

01Big Data and Streaming Foundations3 hours

Understand why distributed processing exists and the core concepts shared by batch and streaming systems.

  • Scale, throughput, and latency as design drivers
  • Distributed storage and processing fundamentals
  • Batch versus stream processing and the Lambda and Kappa architectures
  • Event time versus processing time
  • Partitioning, replication, and the CAP trade-offs in practice
  • Choosing between a database, a queue, and a log

Hands-on lab: Start a local Kafka and Spark environment in Docker, verify both are healthy, and map a sample business scenario to batch and streaming components on a design sheet.

02Apache Kafka Core3 hours

Learn how Kafka's distributed log works and how to produce and consume reliably.

  • Brokers, topics, partitions, and replication
  • Keys, partitioning, and per-partition ordering
  • Producer settings: acks, retries, batching, and idempotent producers
  • Consumer groups, offsets, and rebalancing
  • Retention and log compaction
  • Command-line tools for inspecting topics and consumer lag

Hands-on lab: Create a multi-partition topic, write a Python producer and a consumer group of two consumers, and observe partition assignment and rebalancing when one consumer stops.

03Event-Driven Design and Schemas3 hours

Model events well and evolve them without breaking downstream consumers.

  • Events versus commands and designing event payloads
  • Event sourcing and CQRS at a conceptual level
  • Avro and Protobuf with Confluent Schema Registry
  • Schema compatibility modes and safe evolution
  • Kafka Connect for moving data in and out of Kafka
  • Dead-letter topics and poison-message handling

Hands-on lab: Register an Avro schema, evolve it with a backward-compatible change, and confirm that an older consumer keeps working while an incompatible change is rejected.

04Delivery Semantics and Exactly-Once Processing3 hours

Reason precisely about duplicates, loss, and what exactly-once really means.

  • At-most-once, at-least-once, and exactly-once guarantees
  • Idempotent consumers and deduplication keys
  • Kafka transactions and read-committed consumers
  • Offset commit strategies and their failure windows
  • Exactly-once within a pipeline versus end-to-end with external sinks
  • The outbox pattern for reliable event publication

Hands-on lab: Build a consumer that writes to Postgres, simulate a crash between processing and commit, and make the sink idempotent so replayed messages produce no duplicates.

05Apache Spark Batch Processing2 hours

Use Spark's distributed engine to process large datasets efficiently.

  • Spark architecture: driver, executors, jobs, stages, and tasks
  • DataFrames, Spark SQL, and lazy evaluation
  • Reading and writing Parquet and Delta tables
  • Shuffles, joins, broadcast joins, and data skew
  • Partitioning, caching, and the Catalyst optimizer
  • Reading the Spark UI to find bottlenecks

Hands-on lab: Run a PySpark job that joins a large fact dataset to a small dimension, inspect the stages in the Spark UI, and improve runtime with a broadcast join and better partitioning.

06Spark Structured Streaming2 hours

Express continuous computations with the same DataFrame model used for batch.

  • The streaming DataFrame model and output modes
  • Reading from and writing to Kafka
  • Tumbling, sliding, and session windows
  • Watermarks and handling late data
  • Stateful aggregations and deduplication
  • Checkpointing, triggers, and recovery after failure

Hands-on lab: Build a streaming query that reads events from Kafka, computes five-minute windowed counts with a watermark, writes to a Delta table, and restarts cleanly from its checkpoint.

07Scaling, Cost and Reliability2 hours

Operate streaming and big data systems with predictable performance and spend.

  • Sizing Kafka partitions, replication factor, and retention
  • Monitoring consumer lag, throughput, and under-replicated partitions
  • Spark cluster sizing, autoscaling, and spot capacity trade-offs
  • Backpressure and managing slow consumers
  • Managed offerings: Amazon MSK, Confluent Cloud, Databricks, and Amazon EMR
  • Disaster recovery, replay, and backfill strategies

Hands-on lab: Load test your pipeline with a producer at increasing rates, record consumer lag and processing time, and write a sizing and cost note with the changes you would make.

Capstone project

Build something you'll use

Design and build a streaming pipeline for a scenario of your choice: events published to Kafka with a governed schema, an idempotent consumer, a Spark Structured Streaming job with event-time windows and a watermark, and a Spark batch job that reconciles the results against historical data. You present your delivery-semantics reasoning, failure-recovery test, and scaling and cost notes to the cohort.

Tools and requirements

What you'll work with

Apache KafkaApache SparkPySparkSpark Structured StreamingKafka ConnectConfluent Schema RegistryDelta LakeDockerGit

Prerequisites

  • Strong working knowledge of Python or Scala or Java
  • Solid SQL skills and familiarity with data pipelines
  • Comfort with Docker, the command line, and basic networking concepts

Frequently asked questions

Before you book.

How do I book this course?

Select "Book a seat" and complete the short form. We email you the next cohort dates, timings and fees, and your seat is secured when you confirm. Requesting a seat is free.

How is the course delivered?

Live and online. The 18 hours run as 9 live online sessions x 2 hours, including guided hands-on lab time in every session, led by an instructor, with hands-on labs in every session.

What do I need to join?

Strong working knowledge of Python or Scala or Java Solid SQL skills and familiarity with data pipelines Comfort with Docker, the command line, and basic networking concepts

Can my team take this course together?

Yes. We can run this course for a team with examples from your own roles and tools. Send a team request through the contact page.

Continue exploring

Related courses.

Live online

AI for Engineers

RAG and Vector Search Systems

Build retrieval-augmented generation systems with embeddings, vector databases, hybrid search, and reranking, and learn to evaluate and run them in production.

Advanced16 hours

Ready to start?

Join the next Streaming and Big Data Engineering cohort.

Book a seat
Book your seat