
learn how dbt, the data build tool, has become a de facto standard in modern data stacks for enterprises, guiding data architects, analysts, and engineers from beginner to expert.
Meet Hesham Said, a senior data intelligence developer with six years in data engineering. He holds a bachelor's in computers and artificial intelligence with operations research and decision support systems.
Explore the eight-section course that introduces core concepts, explains the DBT philosophy, and guides installation, development, best practices, advanced topics, CLI use, and extending DBT.
Explore dbt, a framework for transforming data within a single engine, focusing on transformations and excluding extraction or loading, with dbt cloud and the open-source dbt core option.
Compare ETL and ELT architectures, showing how ETL uses tools like SSIS or Informatica to transform data before loading to data warehouses, while DBT supports ELT workflows.
Explore the difference between declarative and imperative programming and see how DBT turns imperative workflows into declarative pipelines, empowering analysts and accelerating data development.
Explore the five SQL statement categories—DDL, DCL, DML, TCL, and DQL—and see how dbt enables DQL querying for data engineering.
Explore the evolution of database engines from sql-based and non-sql roots to distributed data warehouses and data lakes, highlighting column-store analytics, cloud warehouses, and scalable architectures.
DBT is a transformation tool in the data stack that requires a data warehouse and an ETL process to load data; it supports various adapters and focuses on post-load transformations.
Explain how dbt prevents data swamps by establishing a data catalogue, metadata descriptions, and lineage, while enabling analysts to scale with sql, collaborate, and leverage cloud warehouses for fast analytics.
Explore the six technologies essential for dbt development: sql for modeling, yaml for configuration, python, jinja templating, markdown documentation, and git for collaboration.
Install git and set up an Anaconda Python environment with Anaconda Navigator, then install dbt-sqlserver via pip inside a conda environment, and verify with dbt --version.
Kick off a dbt project by configuring profiles.yml for sql server connectivity, installing unixodbc drivers, and validating with dbt parse and dbt debug to ensure secure, ready-to-run development.
Explore the dbt project skeleton, including dbt_project.yml, model paths and folders such as analysis, models, seeds, and tests, and the target directory. Learn how profiles.yml secures credentials for multiple projects.
Explore dbt models—sql files in the models directory. See how dbt run compiles to t-sql, materializes as tables or views, and uses ref to link models.
Explore dbt main configurations, including table, view, ephemeral, and incremental models, and see how dbt run handles them with general and adapter specific options like alias, tag, docs, and schema.
Define sources in dbt with a sources.yml file by configuring the database, schema, and tables, then connect source tables to models and generate docs to validate the setup.
Learn the typical dbt development workflow, creating base views from sources with sources reference and ref to build dim_customers, dim_packs, and the fact_transactions, then run dbt to materialize star schema.
Configure models_in_target.yml in the targets folder to document and catalogue models like dim customers and fact transactions, using descriptions to populate the catalogue and support lineage.
learn how dbt analysis lets you test models without materializing to the warehouse by running dbt compile in the analysis folder and reviewing target/analysis results before submission.
DBT seeds create a dimension from data and load it into the warehouse, showing how to create dim_files.csv with id and file name, run DBT seed, and join to transactions.
dbt uses seeds, sources, and models linked by a lineage diagram; you define tests in models.yml and run dbt test to validate unique, not-null, and accepted values, refining transactions data.
Explore singular tests in dbt with case-specific sql files that fail when they return results, referencing fact_transactions and values like 3, and note that dbt test scans the tests directory.
dbt executes all tests by scanning the project, generating sql for tests, and running them against the database, while extra test configurations control where, limit, severity, and store failures.
Explore how dbt snapshots implement slowly-changing dimensions by tracking historical employee data through valid_from, valid_to, and updated_at, using the dbt seed command.
Explore configuring dbt snapshots to track slowly changing dimensions, select between timestamp and check strategies, set the target database and schema, and specify the unique id and check columns.
Explore the dbt folder structure with descriptive sources, staging, targets, and data marts. Learn to organize base views, use the catalogue, and consolidate yaml files with naming conventions.
Explore how the data catalogue in dbt exposes sources, models, and databases via dbt docs generate and serve, and learn naming conventions and multi-environment deployment (development, UAT, production).
Customize dbt lineage visuals by applying tags and colors to distinguish sources, staging, and target models, and organize the project with consistent folder structures and configurations.
Learn how dbt macros use jinja templating to create reusable user-defined and system macros, like extract_year_month for date formatting and generate_schema_name to customize schema names.
Learn how dbt incremental models load data in batches, performing an initial full load, then inserts and updates using a delete+insert strategy guided by is_incremental logic.
Learn to document data elements with docs blocks, using markdown in models.yml to describe tables, views, and columns. Use jinja tags to call reusable descriptions across the data catalogue.
Explore the dbt cli through diagnostic commands like dbt parse and dbt debug, then manage the target folder and dbt_packages with dbt clean and dbt deps before running models.
Explore how dbt docs generates the manifest and catalog metadata from your project, serves a local web server, and lets you view the catalogue and lineage.
Explore the dbt development commands, including dbt run, dbt seed, dbt test, dbt compile, dbt snapshot, and dbt build, and learn when and how to apply them in production.
Master the dbt selection criterion using select and exclude to run only needed models like dim_packs; explore graph and set operators, unions, intersections, and the @ operator for dbt runs.
Learn to manage multiple dbt environments by replicating dev to prod, configuring profiles, and running dbt build with full refresh to deploy to production.
Explore dbt's other commands, such as retry, list, and show, and learn how to manage core versus plugin versions, inspect project resources, and troubleshoot without materializing.
Discover open-source dbt packages, install with dbt deps from the dbt hub, and use the codegen macro to generate sources.yml by scanning your database or via dbt run with args.
Explore dbt plugins, focusing on dbt-sugar, a Python package that auto-generates descriptions, column details, and tests for models. Learn its setup and compatibility with Python 3.6+ and PostgreSQL, Snowflake, Redshift.
Explore external dbt tools like piperider and data-diff by Datafold, and learn how they extend dbt workflows via CLI, support multiple cloud warehouses, and use profiles.yml credentials.
Data Build Tool is Becoming a Viral Tool Used Among Analysts and Data Engineers in Big corporations nowadays, especially with the fact that it's in the center of all Modern Data Platforms like Data Warehouses and Lake-houses.
It's become essential for these Career enthusiasts to be able to not only use it but also Master it in a Professional Context ... so This Course is Designed from Scratch to help technical People unfold the tool with all its tips and tricks so that it can be Mastered ... with Labs and demos to make sure that everyone is getting the hang of it.
we shall also mention some of the Most Important Tools that are built Only around DBT as being Part of the future to drive intelligence among Corporats, with lots of cool applications like governance and lineage graphs and Data Cataloging, and all of that is actually out of the box in DBT, Cool right!
just i would like to draw to your attention that, it's kind of a MUST to know SQL, The Language of Analysts.
This course also has pretty advanced topics from Other areas, we shall mention them briefly, but it's good to have skills like git and maybe docker along the way, that would actually come to use later, other than this ... our Primary focus will be on DBT
So get started !, and I wish you a happy learning experience!