GithubHelp home page GithubHelp logo

usbrandon / data-engineering-with-dbt Goto Github PK

View Code? Open in Web Editor NEW

This project forked from packtpublishing/data-engineering-with-dbt

0.0 1.0 0.0 535 KB

Data engineering with dbt, published by Packt

License: MIT License

data-engineering-with-dbt's Introduction

Data Engineering with dbt - Code Samples

This repository contains code samples for the book Data Engineering with dbt by Roberto Zagni, published by PacktPublishing.

Please look up the LICENSE before using this repository.

Organization of this Repository

This is not the repository for the dbt project used as a sample in the book, even if it includes the code for that project. At the end of this readme there is a small presentation of the sample dbt project

The files in this repo represents the evolution of the code as discussed in the different chapters of the book. Because of that the files are organized by book chapter.

When one source file undergoes many substantial changes in a chapter we have provided multiple versions of the file to represent the multiple stages discussed in the chapter.

Samples from the introductory chapters

In the first chapters we introduce Snowflake and dbt and the samples are about snippets of code, so we have provided one file per section as often individual snippets are too tiny to justify a single file per sample. Longer samples can be in their own file.

Code from the remaining chapters

In chapter 5 we start the sample dbt project and from that point onward each file in this repo represents one version of a file in the dbt project or a sample that we have discussed even if not part of the sample project.

Inside each chapter the files that represent dbt objects (models, macros and others) are under a dbt folder, while other files that might represent CSV files or commands to be executed in Snowflake are in separate folders.

In the early phases of the sample project we have few models, so they all are under the dbt folder. When we have multiple types of dbt object we have placed each type of file in its sub-folder.

The sample dbt project

The book Data Engineering with dbt uses a sample project to describe how dbt works with a practical approach.

The sample starts simple and then is evolved introducing more dbt features and software engineering best practices.

The sample is not intended to be a full fledged project, but just a tool to discuss ho to approach the building of real dbt projects applying the right features and best practices.

As such the sample project uses few dbt models and evolves them by introducing new dbt features and explaining the software engineering principles that guide the evolution of the models or the use of one feature instead of another.

In the book we often refer to the organization of the sample project, including folder names. The layout of the sample dbt project described in the book can be seen in the following picture:

The layout of the dbt project

data-engineering-with-dbt's People

Contributors

casijoe5231 avatar packt-kavyashreek avatar robmczag avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.