Create and Execute Your First dbt Models

Lab Steps

lock
Connecting to the dbt Web IDE
lock
Create a dbt Model Based on Sources
lock
Create a dbt Model Based on Existing Model
lock
Building the dbt Models

Ready for the real environment experience?

DifficultyBeginner
Time Limit1h
Students14
Ratings
5/5
starstarstarstarstar

Description

Models are the core components of dbt. dbt models are the materialization of the data modeling and transformations you want to apply to data. So, dbt designed them in a simple way to let data engineers be able to work on them with no headaches.

When working with models, you can start modeling data from sources, or you can start transforming data available in other dbt models you have already defined. To let dbt understand which data start from, you use the ref and source macros. 

When applying transformations to your data, you may want to define multiple steps of transformations, and you may want some transformations to be materialized in a different way than others. Because of that, dbt allows you to materialize models in different ways such as views, tables, and with no materialization (ephemeral). The last one means that the model you are building is only available when dbt is executing, so no data is persisted on the database.

Learning Objectives

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

  • Understand how to work with dbt models
  • Create and execute dbt models leveraging sources and other models

Intended Audience

  • Data engineers with a focus on data modeling and transformations methodologies
  • Developers who need a powerful tool to get insights from raw data

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
Students25176
Labs103
Courses2
Learning paths7

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.