hands-on lab

Working With Ephemeral dbt Models

Intermediate
1h
135
4/5
Get guided in a real environmentPractice with a step-by-step scenario in a real, provisioned environment.
Learn and validateUse validations to check your solutions every step of the way.
See resultsTrack your knowledge and monitor your progress.
Lab description

Sometimes, when working with complex dbt projects, you could fall into a situation where you want to decouple one complex model's logic into multiple models that the final model can then leverage. This practice can help you decrease the complexity of a single model, and have more intermediate models with a piece of modeling or transformation.

This is a good practice when working with dbt, and the tool allows you to create these intermediate models without materializing them into the database you are using. This way you can leverage them while dbt is executing, but you don't waste the storage space. These models use the ephemeral materialization type.

In this lab, you will create an ephemeral dbt model, and you will then create a final full-refresh model. You will then check that the ephemeral one has not been stored in your database.

Learning Objectives

Upon completion of this lab, you will be able to:

  • Understand ephemeral models and how to use them
  • Work and create ephemeral dbt models

Intended Audience

  • Data engineers with a focus on data modeling and transformations methodologies
  • Developers that need to understand different kinds of dbt materialization techniques

Prerequisites

To get the most from this lab, you should have basic knowledge of dbt. To get ready, you can use the following labs:

About the author
Avatar
Stefano Cascavilla
Junior Data Engineer
Students
39,686
Labs
106
Courses
2
Learning paths
10

Stefano studies Computer Science and is passionate about technology. He loves working with Cloud services and learning all the best practices for them. Google Cloud Platform and Amazon Web Services are the cloud providers he prefers. He is a Google Cloud Certified Associate Cloud Engineer. Node.js is the programming language he always uses to code. When he's not involved in studying or working, Stefano loves riding his motorbike and exploring new places.

Covered topics
Lab steps
Understanding Ephemeral dbt Models
Connecting to the dbt Web IDE
Creating dbt Models Using Ephemeral Materialization
Executing Ephemeral dbt Models