Databricks Data Engineering Mastery
8-module course for data engineers: PySpark, Delta Lake, medallion architecture, pipeline orchestration, Unity Catalog, testing, CI/CD, and production operations. 40 hours of hands-on content.
📄 Product Preview
Try the interactive reader and demo tools below, or get the full product with all content unlocked.
📖 Interactive Reader (Free Preview) ⚙ Try Demo Tools 📦 Download Free Sample📁 File Structure 18 files
📖 Documentation Preview README excerpt
Databricks Data Engineering Mastery
Thank you for purchasing this course from Datanest Academy!
Getting Started
1. Review course.yaml for the complete course outline, learning objectives, and prerequisites
2. Start with modules/module-01-*.md and progress through each module in order
3. Each module includes hands-on exercises, code examples, and production patterns
Course Structure
course.yaml— Complete course metadata, outline, and prerequisitesmodules/— 8 progressive modules (full premium content)free-preview/— Redacted preview versions (for sharing with colleagues)assets/— Supporting materials
Module Format
Each module contains:
- Learning objectives
- Concept explanations with real-world context
- Production-ready code examples
- Hands-on exercises
- Key takeaways and review questions
Support
Questions? Email support@datanest.dev
License
Copyright (c) 2026 Jesse Mikkola / Datanest Academy. All rights reserved.
This course content is licensed for personal and organizational use only.
Redistribution is not permitted.
📄 Content Sample guide/01-pyspark-foundations.md
Chapter 01: PySpark Foundations for Data Engineers
Duration: 6 hours | Difficulty: Intermediate | Prerequisites: Python fundamentals, basic SQL
Learning Objectives
By the end of this module, you will be able to:
1. Configure a SparkSession for local development and Databricks workloads
2. Perform complex transformations using the DataFrame API fluently
3. Write efficient column expressions with pyspark.sql.functions
4. Explain why UDFs are costly and when built-in functions are the right choice
5. Read and interpret Spark execution plans to diagnose performance issues
6. Apply partitioning strategies to control parallelism and data layout
1. SparkSession: Your Entry Point to Spark
Every PySpark program begins with a SparkSession. On Databricks, one is pre-configured as spark, but understanding its internals is essential for testing, tuning, and local development.
1.1 Creating a SparkSession
from pyspark.sql import SparkSession
spark = (
SparkSession.builder
.appName("DataEngineeringMastery")
.master("local[*]") # Use all available cores locally
.config("spark.sql.shuffle.partitions", "8")
.config("spark.sql.adaptive.enabled", "true")
.config("spark.serializer", "org.apache.spark.serializer.KryoSerializer")
.getOrCreate()
)
1.2 Key Configuration Properties
| Property | Default | Recommendation |
|---|---|---|
spark.sql.shuffle.partitions | 200 | Set to 2-3x your cluster cores for small-medium data |
spark.sql.adaptive.enabled | true (Spark 3.2+) | Always keep enabled |
spark.sql.adaptive.coalescePartitions.enabled | true | Reduces small partitions after shuffle |
spark.sql.files.maxPartitionBytes | 128 MB | Increase for wide tables, decrease for narrow |
spark.sql.autoBroadcastJoinThreshold | 10 MB | Increase cautiously for dimension tables |
... and much more in the full download.