Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Delta Lake with Apache Spark using Scala
Rating: 2.9 out of 5(49 ratings)
2,293 students

Delta Lake with Apache Spark using Scala

Delta Lake with Apache Spark using Scala on Databricks platform
Last updated 2/2026
English

What you'll learn

  • Understand the fundamentals of Delta Lake and how it enhances traditional Data Lakes.
  • Explore the key features of Delta Lake such as ACID transactions, schema enforcement, and time travel.
  • Learn how to create, write, and read Delta tables using Apache Spark with Scala.
  • Perform schema evolution and schema validation with real-world examples.
  • Work with table metadata and understand how Delta Lake manages data internally.
  • Apply data manipulation operations – Update, Delete, and Merge – on Delta tables.
  • Master advanced Delta Lake features such as Vacuum, History, and Concurrency Control.
  • Optimize performance using file management, auto optimize, and caching techniques.
  • Learn about isolation levels and their role in ensuring data consistency.
  • Get guidance on migrating existing workloads to Delta Lake for reliability and scalability.
  • Explore best practices for working with Delta Lake in real-world projects.
  • Prepare for interviews with Delta Lake FAQ & optimization questions included in the course.
  • Gain confidence to use Delta Lake + Apache Spark in data engineering and analytics projects.

Course content

1 section53 lectures2h 3m total length
  • Course Introduction3:21

    Explore Delta Lake with Apache Spark by setting up a Spark cluster, loading data, and applying schema validation, caching, and concurrency controls through hands-on lessons.

  • Introduction to Delta Lake1:30

    Explore Delta Lake, an open source layer for Apache Spark that enables concurrent transactions (insert, update, delete), scalable metadata, and unified streaming and batch processing on existing data.

  • Introduction to Data Lake1:09

    Describe how a data lake stores data in its natural form as a single enterprise repository for raw and transformed data used in reporting, visualization, analytics, and machine learning.

  • Key Features of Delta Lake4:57
  • Elements of Delta Lake3:18

    Explore the four elements of delta lake architecture, including parquet-based data files, the delta log with transaction logs, and object storage, enabling fast, scalable queries via Databricks.

  • Introduction to Spark4:17

    Discover Apache Spark as a high performance, distributed engine that scales across clusters, enabling SQL, structured data processing, streaming, graph processing, and machine learning using Java, Scala, Python, or R.

  • (Old) Free Account creation in Databricks1:51
  • (New) Free Account creation in Databricks1:50

    Visit databricks.com and click get started for free to access the Community Edition. Receive emailed credentials and log in to the Community Edition to practice on Databricks at no cost.

  • Tips to Improve Your Course Taking Experience1:35

    Customize your course experience by adjusting video speed and quality, and turning on captions or viewing the auto-generated transcript. Consider leaving a review to help future students.

  • Provisioning a Spark Cluster2:14

    Provision a spark cluster by logging into the community site, navigating to clusters, naming your cluster, and creating it until the status becomes active.

  • Basics about notebooks7:29

    Discover the basics of notebooks, including creating and naming notebooks, building runnable cells, executing code, and using magic commands for documentation and shell or spark tasks.

  • Dataframes4:47

    Work with dataframes in Spark by loading data with a schema, selecting columns, filtering rows such as price > 2, and using Spark SQL in notebooks to visualize results.

  • (Hands On) Create a Delta table6:38

    Create and manage delta tables in a Databricks environment by writing sql statements to drop existing tables, define columns and data types, and partition by calendar year for efficient reads.

  • (Hands On) Write into a Delta table14:12

    Learn to write data into a delta table using spark dataframe write with delta format, specifying the file location and partitioning by calendar year with append or overwrite modes.

  • (Hands On) Read a table6:52

    Read a delta lake table with spark sql in scala from a mounted location. Demonstrate selecting star from delta and handling partitioned data with append and overwrite operations.

  • Schema validation2:50

    Delta Lake validates the data frame schema against the table schema, enforcing column existence, type matching, and case sensitivity to prevent data corruption.

  • (Hands On) Update table schema3:01

    Learn how to update a Delta Lake table schema in Spark by adding a new column, describe the table to verify changes, and save updates through a data stream workflow.

  • Table Metadata1:53

    Explore table metadata in delta lake with spark sql by examining a salary table and its columns such as name, location, created, last modified, and how records evolve over time.

  • Delete from a table1:44

    Demonstrates deleting 2011 records from a Delta Lake salary table using Spark and Scala, showing counts before and after (about 92k to 85k).

  • Update a Table2:11

    Update a Delta Lake table using Spark and Scala to change calendar year values in a partitioned table from 2000 to 2020, then verify with a 2020 query.

  • Vacuum1:59
  • History1:34

    Explore how Delta Lake tracks table history in reverse chronological order using describe history, retrieve the last operation, and explore transaction history for a Delta table.

  • Concurrency Control1:08

    Explore concurrency control in Delta Lake with Apache Spark using Scala, focusing on maintaining consistent, safe transactions across a data lake.

  • Optimistic concurrency control2:33

    Understand optimistic concurrency control in Delta Lake, delivering transactional guarantees via read, write, and commit stages, detecting conflicts and raising concurrent modification exceptions to produce a new version snapshot.

  • Migrate Workloads to Delta Lake5:23

    Learn how to migrate workloads to Delta Lake, leveraging automatic partition management and transaction log as the source of truth, while avoiding manual refreshes and unsafe external reads.

  • Optimize Performance with File Management1:13

    Explore techniques to optimize performance through file management in Delta Lake with Apache Spark using Scala.

  • Auto Optimize2:45

    Configure Delta Lake auto optimize for specific data tables and enable optimize write by setting table properties, then apply auto compaction to improve data layout and performance.

  • Optimize Performance with Caching1:11

    Cache data locally to speed up successive reads, optimizing performance with Delta Lake on Apache Spark using Scala.

  • Delta and Apache Spark caching3:26
  • Cache a subset of the data1:37

    Explicitly select and cache a subset of data in Delta Lake with Apache Spark using Scala to ensure consistent performance for repeatedly accessed tables.

  • Isolation Levels1:06

    Explain isolation levels and how they define the degree to which modifications by concurrent transactions are isolated, and note the default level in use.

  • Best Practices2:56

    Apply best practices to improve data lake performance by providing data location hints and selecting a partition column, avoiding high-cardinality fields, and regularly compacting small files into larger ones.

  • FAQ (Interview Question on Optimization) 11:47

    Discover how the optimize command consolidates small files to boost performance. Understand that Delta Lake automatically collects statistics to aid query planning, whether you run optimize or not.

  • FAQ (Interview Question on Optimization) 21:50

    Explore optimization strategies for Delta Lake with Apache Spark using Scala, balancing performance and cost. Learn when to run optimize daily at night and offline.

  • FAQ (Interview Question on Optimization) 30:51

    discover how to select the best compute instance for running the optimizer in Spark workflows, with tips for optimization interview questions and practical guidance on when to use different instances.

  • FAQ (Interview Question on Auto Optimize) 40:50

    Explore auto optimize and concurrent transactions in delta lake with apache spark using scala, addressing interview questions and their impact on streams.

  • FAQ (Interview Question on Auto Optimize) 51:06

    Discover whether to schedule auto optimize for Delta Lake with Apache Spark, see how scheduling consolidates files and handles updates, and learn practical guidelines for when to enable optimization.

  • FAQ (Interview Question) 61:06

    Examine the reliability and transaction support of an open-source data lake layer, its compatibility with existing data lakes, and workload-based configuration for optimized indexing and fast interactive queries.

  • FAQ (Interview Question) 70:37

    Explore an interview-style FAQ about how data leak relates to a bike spotter. Highlight ideas for data handling within Delta Lake and Apache Spark using Scala.

  • FAQ (Interview Question) 80:42

    Answer an interview question about data formats, cloud storage, and transaction tracking in Delta Lake with Spark, including comments, blogs, and e-books as stored data.

  • FAQ (Interview Question) 90:20

    Explain how to do things right in an interview question to prevent deadly outcomes, reflecting on the discussed scenarios.

  • FAQ (Interview Question) 100:26

    Answer common interview questions about writing data to a specified cloud location within a Delta Lake workflow using Apache Spark and Scala.

  • FAQ (Interview Question) 110:28

    Discover Delta Lake with Apache Spark using Scala and work with structured streaming data in this course.

  • FAQ (Interview Question) 120:27
  • FAQ (Interview Question) 130:43

    Answer a targeted interview question 13 in a practical faq style, exploring affordability, policy references, and decision-making in real-world product scenarios.

  • FAQ (Interview Question) 140:55

    Answer interview FAQ 14 for Delta Lake with Apache Spark using Scala, highlighting table management, automation, and cost-mitigation strategies discussed in the lecture.

  • FAQ (Interview Question) 151:39

    Explore which delta lake features are unsupported, and how schema, bucketing, and reading from tables relate to inserts or direct loading in this interview-style FAQ.

  • FAQ (Interview Question) 160:31
  • FAQ (Interview Question) 170:32

    Explore how to preserve data types when dropping a column in delta lake with Apache Spark using Scala, framed as interview question 17.

  • FAQ (Interview Question) 181:00

    Explore how the U.N. delegation and delegates' rights interact with ballot weight and locking mechanisms, clarifying how conflicts are resolved and how league support may emerge.

  • FAQ (Interview Question) 191:25

    Explore limitations and not-supported features in this Databricks environment, including server-side encryption with customer-provided keys, credentials in a cluster, and security token service restrictions.

  • Important Lecture0:20

    Celebrate finishing the course and thank students for enrolling. Wish them success in their future endeavors and encourage continued learning.

  • Bonus Lecture1:05

Requirements

  • No prior experience with Delta Lake is required – all core concepts are explained from the ground up.
  • Basic understanding of Apache Spark (DataFrames, clusters, and notebooks) will be helpful.
  • Familiarity with Scala programming is recommended, but beginners can still follow along with the provided examples.
  • A computer with internet access (Windows, macOS, or Linux) to set up Spark and Delta Lake.
  • A free Databricks account (covered in the course) for hands-on practice with Spark clusters and Delta tables.
  • Willingness to learn and experiment with modern data lakehouse technologies.

Description

Delta Lake with Apache Spark using Scala – Hands-On Guide


Are you working with big data and struggling with data reliability, consistency, and performance? Do you want to master the technology that powers modern data lakes used by top companies worldwide?


Welcome to Delta Lake with Apache Spark using Scala, a hands-on, beginner-to-advanced course designed to help you understand, implement, and optimize Delta Lake for real-world big data projects.


Delta Lake is an open-source storage layer that brings ACID transactions, schema enforcement, and unified batch + streaming processing to Apache Spark and big data workloads. By the end of this course, you will be able to confidently build, manage, and optimize Delta Lake tables for enterprise-scale analytics.


What makes this course unique?


  • Step-by-step, hands-on approach – learn by doing, not just theory.

  • Covers both fundamentals and advanced concepts – from creating Delta tables to optimizing performance with file management and caching.

  • Practical use cases & interview preparation – with dedicated FAQ lectures to strengthen your real-world knowledge.

  • Up-to-date content – including Databricks free account setup (old & new), Spark cluster provisioning, and best practices.

  • Built for Scala developers – get the real experience of working with Delta Lake using Apache Spark + Scala.

What’s inside the course?


Section 1: Introduction to Delta Lake & Spark

  • Get started with Delta Lake, its key features, and the concept of Data Lakes.

  • Learn the basics of Apache Spark, notebooks, and dataframes.

  • Set up your Databricks free account and provision a Spark cluster.

Section 2: Hands-On with Delta Lake Tables

  • Create, write, and read Delta tables.

  • Perform schema validation and update schemas dynamically.

  • Manage table metadata, updates, and deletions.

  • Understand and use vacuuming, table history, and concurrency control.

Section 3: Delta Lake Performance Optimization

  • Learn how to migrate workloads to Delta Lake.

  • Optimize data storage with file management.

  • Use Auto Optimize and caching techniques to boost performance.

  • Explore isolation levels and concurrency handling in detail.

Section 4: Best Practices & Interview Prep

  • Industry-proven best practices for working with Delta Lake.

  • 15+ FAQ lectures covering interview-style questions on optimization, auto optimize, and advanced Delta Lake features.

  • Practical tips to help you ace interviews and apply knowledge in real projects.

Section 5: Wrap Up & Bonus

  • Important summary lecture consolidating key concepts.

  • Bonus lecture with resources to continue your learning journey.


By the end of this course, you’ll be able to:


  • Understand Delta Lake architecture and why it solves traditional data lake challenges.

  • Implement ACID transactions and schema evolution with Delta Lake.

  • Optimize Spark jobs with caching, auto optimize, and file management techniques.

  • Manage and scale real-world data pipelines using Delta Lake.

  • Confidently answer interview questions and apply best practices in your job or projects.

Why take this course?


This course is designed for:

  • Beginners who want to get started with Delta Lake and Spark.

  • Data Engineers, Developers, and Data Scientists who want to implement robust big data solutions.

  • Students and professionals preparing for interviews in Big Data and Spark-based roles.

  • Anyone who wants to gain hands-on skills in one of the fastest-growing big data technologies.

Who this course is for:

  • Data Engineers who want to learn how to build reliable and scalable data pipelines using Delta Lake.
  • Big Data Developers interested in mastering the Delta Lake architecture on top of Apache Spark.
  • Data Scientists & Analysts who need to work with large-scale data stored in Delta tables and want to ensure accuracy, consistency, and performance.
  • Software Engineers aiming to transition into Big Data, Data Engineering, or Data Lakehouse roles.
  • Students, Beginners, and Enthusiasts who are curious about next-generation data lakehouse technologies and want hands-on experience.
  • Professionals preparing for interviews who want to strengthen their knowledge with Delta Lake optimization and concurrency control questions.
  • Anyone who wants to go beyond theory and get hands-on with Delta Lake + Spark + Scala in real-world scenarios.