
Learn dbt core from scratch through hands-on, real-project work designed for beginners. Progress through structured sections, complete zip-file exercises, and quizzes to build your first dbt project in two hours.
Explore ETL and ELT, comparing extract, transform, load with extract, load, transform; learn why ELT suits large-scale cloud data warehouses and how dbt applies transformations inside the warehouse.
Explore how dbt replaces in-warehouse transformations with a structured, testable, version-controlled ELT workflow that builds, documents, and visualizes lineage of data models.
Install and configure PostgreSQL on Windows, including Pgadmin and command line tools, then connect to the database and execute a script that creates the customers and orders tables.
Learn to install dbt core on Windows by creating a Python virtual environment, activating it, and installing the Postgres adapter via PyPI for dbt core.
Install dbt core on Linux by confirming Python 3, installing pip, creating and activating a virtual environment, installing dbt postgres from PyPI, and verifying installations with pip list.
Initialize your dbt project with a virtual environment and the init command, create and configure the profiles.yaml, connect to a localhost Postgres database, and validate the setup with dbt debug.
Activate the virtual environment and configure a clean sources folder, then create a yaml source file and a dbt model to view lineage and test with a simple select.
Learn how dbt source freshness verifies ETL/ELT data timeliness by adding a freshness marker to sources and tables, using a JSON count and period to generate warnings and errors.
Learn to add and run dbt tests for a db2 source, validating the customers table with not null and unique checks using yaml definitions.
Create custom tests for the orders table to ensure total amount is greater than zero, using jinja to parameterize model and column names, then compile and run dbt tests.
Navigate the project directory, refresh staging views with dbt, and implement a CTE-based base model, then validate tests and add the loaded_at column for orders.
Create a folder per model in staging, add yaml files with metadata and tests, then run dbt tests to confirm 26 tests pass and include a positive total amount macro.
Create an intermediate dbt model by joining orders and customers, use ref for lineage, and build a sales mart with aggregations, exploring the lineage graph in Visual Studio Code.
Deploy dbt models to staging, intermediate, and sales targets by configuring schemas in profiles YAML. Use env vars to replace credentials and test compilation and deployment.
Explore dbt model materialization, switching from default views to tables by editing the model or dbt_project.yml, and observe staging and marts materialized as tables while intermediates remain views.
Master incremental dbt models by configuring materialized incremental, using a where clause and max(order date) to insert only new rows, and adding a unique key for updates.
Learn to build and reuse dbt macros, including a full name macro. Create a categorize orders macro with a case statement to classify totals, then test in models.
Explore macros inside models in dbt, including a for loop and adding an order_status column to orders. Build and test a category-based macro counting orders by status with dbt run.
Explore using dbt packages, including dbt utils, dbt expectations, and dbt codegen, installed via dbt deps, and write tests with regex to validate models.
Learn how to load csv data with seeds, switch between comma and semicolon delimiters, update the seeds yaml, and run a full refresh to align schemas.
Learn to generate dbt documentation automatically with dbt docs generate, serve it in a browser via dbt docs serve, and explore models, descriptions, tests, and lineage graphs.
Welcome to a comprehensive yet fast-paced onboarding course for dbt Core — the essential tool revolutionizing how data teams transform and manage data in the modern analytics stack. Over approximately 2 hours, this course will guide you step-by-step through everything you need to know to confidently start working with dbt Core, from installation and configuration to advanced modeling and documentation.
You will begin by understanding the key differences between ELT and ETL processes, and learn exactly what dbt is and why it’s a game-changer for data transformation. Next, we’ll cover how to set up your environment, including detailed installation instructions for both Windows and Linux, and configuration of the critical profiles.yaml file to connect dbt to your data warehouse.
The course dives deep into working with Sources to manage your raw data, including freshness checks and tests to ensure data reliability. You’ll master Models — learning how to build, organize, and materialize SQL models efficiently, including incremental models that optimize performance.
Macros will be demystified so you can automate repetitive tasks and streamline your dbt workflows. Finally, you’ll explore Seeds and Documentation, learning to load CSV data into your warehouse and generate clean, useful documentation for your projects.
Whether you’re a data analyst, engineer, or anyone eager to embrace modern data transformation best practices, this fast onboarding course will equip you with practical skills and confidence to accelerate your dbt Core journey and improve your team’s data pipeline quality and maintainability.