
Master dbt data build tool by learning its transformation layer, seeds, snapshots, materializations, and models, and apply software engineering practices to data pipelines with version control and ci/cd.
Present the course roadmap for the dbt masterclass, covering ETL vs ELT and beginner to advanced tracks, with account setup and core topics like models and tests.
Compare etl and elt pipelines, detailing how etl transforms data before loading into a data warehouse, while elt loads raw data and transforms inside the warehouse with dbt.
Learn how dbt, an open source data build tool, transforms and models data in the warehouse with modular SQL models, version control, and testing for consistent, reusable pipelines.
Discover how dbt transforms raw data in the warehouse with SQL, version control, data quality checks, and lineage for easier data workflows.
Learn how analytical engineering builds scalable, collaborative data pipelines with dbt, turning raw data into structured data to enable analysis and faster insights with better data quality.
Discover three ways to contact the instructor: Udemy Q&A for video questions, Udemy direct message for course inquiries, and Linktree for email list and direct email outreach.
Practice alongside the instructor by doing the tasks on your own platform, explore beyond the steps, and participate in the Q&A community to deepen your learning.
Rate this course and share constructive feedback to help the instructor improve. Engage with questions and messages, participate in discussions, and enjoy the learning journey.
Select 1080p or the highest available resolution for a clear viewing experience. Open the video player gear, choose 1080p, and avoid auto or 720p.
Explore the Snowflake web UI, navigate account URL and regions, manage worksheets and databases, and understand roles and warehouses for access via host name and login URL.
Set up a cloud dbt project by selecting snowflake, configuring environment with account, host, database, warehouse, and schema, then choose a repository option and test the connection.
Initialize the project in the development environment, then explore the files, folders, and models to set up your dbt workflow.
Navigate the DBT Cloud web UI to develop models in the develop tab, manage branches and deployments, view server logs, and configure environments, data sources, and documentation.
Learn how dbt models, dot sql files in the models folder, validate, clean, and transform data into analytical ready tables, define relationships with foreign key constraints, and document data lineage.
Learn how to create a simple dbt model and perform a basic transformation on a Snowflake transaction data set, including loading sample data, previewing, compiling, and running models.
Create a table in dbt by modeling a simple query, previewing results, saving as ABC.sql, running the model, and moving the table into the data warehouse as a view.
Build your first dbt model by branching, creating a dim customers model, and using run, preview, and compile to validate results in Snowflake.
Reorganize a dbt project by creating staging and core folders, moving models into staging, and placing the core dimension customers under core/dimensions.
Configure dbt materializations by setting view or table at the folder or config level, using project file adjustments or a config block to override defaults in staging and core models.
Refactor the dim_customers model to compute lifetime value from paid orders, build a fact orders table from stage payments, and update final view with first order date and counts.
Define and organize dbt schemas to manage dependencies across tables, views, and macros through modularity, versioning, and testing; create a schema file with purpose, objects, dependencies, and tests.
Learn what a dbt macro is and how to build reusable Jinja templates stored in the macros directory as dot sql files, mirroring functions to reduce repeated code across models.
Explore testing in software engineering to verify that transformations produce models meeting assertions, using select statements to test data models and catch errors early in data pipelines.
Learn how dbt tests enforce data quality by asserting model outcomes with not null and unique constraints, configured in the models directory, and run as select-based tests in your warehouse.
Learn to define generic tests in dbt to enforce data quality by checking unique, not null, accepted values, and relationships.
Demonstrates creating yaml-based generic tests in dbt for staging models, adding unique, not null, and accepted values tests, and running and debugging tests to ensure accuracy.
Learn how to write a singular test in dbt that asserts total amount is positive for every order_id in the stage_payments model using ref, group by, and having.
Explore how to use the dbt test command to run generic and singular tests across models and sources, configure tests in yaml, and validate not null and unique constraints.
Learn about default metallization in dbt, how models build as tables or views, and how to configure project-wide defaults per folder with future override options.
Override the default materializations with a config block to set staging customers to build as a table, showing how to overwrite project properties and verify the change.
Learn to add sources in dbt by creating source files, defining version, database, schema, and tables, and using source() in staging models with preview and compile.
Master dbt source freshness to ensure timely data ingestion and accurate insights. Configure freshness blocks with one after and error after thresholds, then run dbt source freshness to validate freshness.
Explore dbt seed: use csv seeds in the seeds folder to create static reference tables (country codes, date tables, zip codes) in your data warehouse, ideal for rarely changing data.
Implement seeds in dbt by creating an employees.csv seed and loading it as a table, then use ref to add is_employee flag in a model and validate seeds with tests.
Explore how Jinja templating in dbt uses set variables, lists, dictionaries, and control structures (if, for) with dedicated delimiters to generate functional SQL and integrate with models.
Learn to create a custom macro in dbt to convert amounts by dividing by 100, replace hard-coded values with parameters, and enable reusability across models.
Discover how snapshots in dbt implement slowly changing dimensions type 2 to track a record's history over time using valid_from and valid_to for point-in-time representations, versioning, and auditing.
implement snapshots in dbt to track slowly changing dimensions using a tickets dataset; configure a snapshot with target schema, check strategy, unique key ticket id, and check column ticket status.
*PLEASE READ BELOW *
Do you want to take part in the next wave of Data Engineering and learn ELT and Analytical Engineer?
Are you looking to master dbt Data Build Tool and unlock the true potential of your data analytics projects?
Do you want to seamlessly transform and manage your data pipelines in a scalable and efficient manner?
If so, then this course if for you. In this comprehensive and hands-on course, you will dive deep into the world of dbt and learn how to leverage its power to build robust data transformation pipelines. Whether you are a data engineer, data analyst, or data scientist, this course will equip you with the essential skills to accelerate your data analytics workflows and become a top Data Engineer and Data Analyst.
Learn from more than 6 hours of relevant instructional video content, with the only course that will go through all dbt concepts to teach you how to deploy dbt Data Build Tool ELT projects. We will go through every single concept from start to finish, from Materializations and Tests, to Incremental Loads and Snapshots.
What is this course all about?
This course has one objective: teach you dbt (Data Build Tool), its features, and use them to transform your data engineering workflows. We do this by creating instructional video content where we go through each dbt concept, one-by-one, and apply it to a practical real-life example.
What is dbt?
dbt (Data Build Tool) is an open-source command-line tool designed for transforming and modeling data in the context of data analytics and data warehousing. It enables data analysts and engineers to define, document, and test data transformation processes using SQL. dbt (Data Build Tool) allows you to build scalable and maintainable data pipelines by providing features like version control, modularity, and dependency management. It promotes the use of SQL as a codebase, enabling collaboration, reproducibility, and automation in data transformation workflows.
What is dbt Core vs. dbt Cloud?
dbt Core refers to the open-source version of dbt that can be installed and run locally on a user's machine or server. It encompasses the essential functionality of dbt, including data modeling, testing, and documentation of data transformations.
dbt Cloud is a cloud-based platform offered by Fishtown Analytics, the creators of dbt. It provides a managed and hosted environment for running dbt projects in the cloud. dbt Cloud goes beyond the core capabilities of dbt Core, offering additional features such as a user-friendly web interface, scheduling and orchestration of dbt runs, collaboration tools, and integration with popular data warehouses and BI tools.
In this course, we will learn about both elements in dbt Core and dbt Cloud, with a particular focus on DBT Cloud.
Why learn dbt?
Streamline data transformation: dbt enables you to efficiently transform and analyze data in your data warehouse, saving time and effort in the data preparation process.
Maintain data integrity: dbt (Data Build Tool) provides a structured and version-controlled approach to data transformations, ensuring consistency and reliability in your data pipelines.
Collaborate effectively: Learning dbt allows you to work seamlessly with data teams, data analysts, and engineers, fostering collaboration and enabling efficient teamwork on data projects.
Enable scalable analytics: With dbt, you can build scalable and modular data models that can adapt and grow as your organization's data needs evolve, enabling efficient data analysis and reporting.
Improve data documentation: dbt Data Build Tool encourages documenting data transformations, making it easier for teams to understand and maintain data pipelines, enhancing data governance and knowledge sharing.
Stay up-to-date with industry standards: dbt has gained significant popularity in the data engineering and analytics community, and learning dbt allows you to stay current with the latest industry practices and trends.
Enhance career opportunities: Proficiency in dbt can open doors to various job opportunities in data engineering, data analysis, and data operations roles, as many organizations are adopting dbt as a standard data transformation tool.
Why choose this course?
Complete guide - this is the start to finish, zero to hero, basic to advanced guide on dbt. There is no other course like it that teaches you everything from start to finish. It has 6 hours of instructional content!
Structured to succeed - this course is structured to help you succeed. We go through all the features of dbt and learn how to use it in a practical way.
Fully instructional - we not only go through important concepts, but also apply them as we are building our application so that we can solidify them. This is not only a walkthrough of the all the features and theoretical concepts, but a course that actually builds applications with you.
Step by step - we go through every single concept in a sequential order (from learning about dbt Models, Materializations, and more. This improves your probabilities of learning these platforms to build solutions rather than going haphazardly through each feature.
Learn to learn during the latter parts of the course, we go through situations where we encounter new features or errors, and work through how we would use the documentation to resolve them. In this way, you not only learn about these platforms and how they interact inside and out, but learn how to resolve your own issues as they come up.
Teacher response if there's anything else you would like to learn, or if there's something you cannot figure out, I'm here for you! Look at the ways to reach out video.
Reference material - follow along! I provide all reference material directly to you so you can follow along in your learning journey.
Course overview
Introduction - learn about the course, how to succeed, and the course roadmap
dbt Account Setup - create your dbt account, set up Snowflake, and load sample data
dbt Models - Learn to define, structure, and organize your data transformations using dbt models.
dbt Tests - Master the art of writing tests to ensure the quality and accuracy of your dbt models.
dbt Materializations - Explore different materialization techniques to optimize the performance and scalability of your dbt models.
dbt Seeds and Sources - Understand how to incorporate seeds and sources into your dbt projects for data ingestion and initial data setup.
dbt Cloud Features - Discover the powerful features and functionalities offered by dbt Cloud for seamless collaboration and deployment.
dbt Jinja and Docs - Harness the power of Jinja templating and generate automated documentation for your dbt projects.
dbt Load and Custom Macros - Enhance your data loading capabilities and create custom macros to extend the functionality of dbt.
dbt Snapshots - Learn how to leverage dbt snapshots to capture historical versions of your data for auditing and analysis purposes.
dbt Hooks - Dive into dbt hooks and learn how to integrate external scripts and actions into your dbt workflows.
dbt Analyses - Gain expertise in dbt analyses to perform complex data analysis and generate actionable insights using SQL within your dbt projects.
Conclusion - Wrap up the course and discuss next steps
If you want to learn dbt Data Build Tool and take a large step in your Data and Analytical Engineering journey, then this is the course for you. We're looking forward to having you in the course and hope you earn the certificate.
Music: Bensound