Skip to content

This is a quick guide on how to get started and create your data models using dbt (data build tool). dbt is a Python-based packaged for managing Transformations in the ELT (Extract, Load, Transform) lifecyle.

Notifications You must be signed in to change notification settings

CloudChaoszero/onboarding-2-dbt

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta charset="utf-8" />
    <title>Analytic Engineering &amp; dbt: 0-100 &#8212; Analytic Engineering &amp; dbt: 0-100</title>
    
  <link rel="stylesheet" href="_static/css/index.d431a4ee1c1efae0e38bdfebc22debff.css">

    
  <link rel="stylesheet"
    href="_static/vendor/fontawesome/5.13.0/css/all.min.css">
  <link rel="preload" as="font" type="font/woff2" crossorigin
    href="_static/vendor/fontawesome/5.13.0/webfonts/fa-solid-900.woff2">
  <link rel="preload" as="font" type="font/woff2" crossorigin
    href="_static/vendor/fontawesome/5.13.0/webfonts/fa-brands-400.woff2">

    
      
  <link rel="stylesheet"
    href="_static/vendor/open-sans_all/1.44.1/index.css">
  <link rel="stylesheet"
    href="_static/vendor/lato_latin-ext/1.44.1/index.css">

    
    <link rel="stylesheet" href="_static/sphinx-book-theme.bfb7730f9caf2ec0b46a44615585038c.css" type="text/css" />
    <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
    <link rel="stylesheet" type="text/css" href="_static/togglebutton.css" />
    <link rel="stylesheet" type="text/css" href="_static/copybutton.css" />
    <link rel="stylesheet" type="text/css" href="_static/mystnb.css" />
    <link rel="stylesheet" type="text/css" href="_static/sphinx-thebe.css" />
    <link rel="stylesheet" type="text/css" href="_static/panels-main.c949a650a448cc0ae9fd3441c0e17fb0.css" />
    <link rel="stylesheet" type="text/css" href="_static/panels-variables.06eb56fa6e07937060861dad626602ad.css" />
    
  <link rel="preload" as="script" href="_static/js/index.30270b6e4c972e43c488.js">

    <script type="text/javascript" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
    <script type="text/javascript" src="_static/jquery.js"></script>
    <script type="text/javascript" src="_static/underscore.js"></script>
    <script type="text/javascript" src="_static/doctools.js"></script>
    <script type="text/javascript" src="_static/language_data.js"></script>
    <script type="text/javascript" src="_static/togglebutton.js"></script>
    <script type="text/javascript" src="_static/clipboard.min.js"></script>
    <script type="text/javascript" src="_static/copybutton.js"></script>
    <script type="text/javascript">var togglebuttonSelector = '.toggle, .admonition.dropdown, .tag_hide_input div.cell_input, .tag_hide-input div.cell_input, .tag_hide_output div.cell_output, .tag_hide-output div.cell_output, .tag_hide_cell.cell, .tag_hide-cell.cell';</script>
    <script type="text/javascript" src="_static/sphinx-book-theme.be0a4a0c39cd630af62a2fcf693f3f06.js"></script>
    <script async="async" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/latest.js?config=TeX-AMS-MML_HTMLorMML"></script>
    <script type="text/x-mathjax-config">MathJax.Hub.Config({"tex2jax": {"inlineMath": [["\\(", "\\)"]], "displayMath": [["\\[", "\\]"]], "processRefs": false, "processEnvironments": false}})</script>
    <script async="async" type="text/javascript" src="https://unpkg.com/thebelab@latest/lib/index.js"></script>
    <script type="text/javascript">
        const thebe_selector = ".thebe"
        const thebe_selector_input = "pre"
        const thebe_selector_output = ".output"
    </script>
    <script async="async" type="text/javascript" src="_static/sphinx-thebe.js"></script>
    <link rel="index" title="Index" href="genindex.html" />
    <link rel="search" title="Search" href="search.html" />

    <meta name="viewport" content="width=device-width, initial-scale=1" />
    <meta name="docsearch:language" content="en" />



  </head>
  <body data-spy="scroll" data-target="#bd-toc-nav" data-offset="80">
    

    <div class="container-xl">
      <div class="row">
          
<div class="col-12 col-md-3 bd-sidebar site-navigation show" id="site-navigation">
    
        <div class="navbar-brand-box">
<a class="navbar-brand text-wrap" href="index.html">
  
  
  <h1 class="site-logo" id="site-title">Analytic Engineering & dbt: 0-100</h1>
  
</a>
</div>

<form class="bd-search d-flex align-items-center" action="search.html" method="get">
  <i class="icon fas fa-search"></i>
  <input type="search" class="form-control" name="q" id="search-input" placeholder="Search this book..." aria-label="Search this book..." autocomplete="off" >
</form>

<nav class="bd-links" id="bd-docs-nav" aria-label="Main navigation">
  <ul class="nav sidenav_l1">
 <li class="toctree-l1">
  <a class="reference internal" href="index.html">
   Analytic Engineering &amp; dbt: 0-100
  </a>
 </li>
</ul>
<p class="caption">
 <span class="caption-text">
  Installation
 </span>
</p>
<ul class="nav sidenav_l1">
 <li class="toctree-l1">
  <a class="reference internal" href="0-Installation/index.html">
   1. Installation
  </a>
 </li>
</ul>
<p class="caption">
 <span class="caption-text">
  Creating a Project
 </span>
</p>
<ul class="nav sidenav_l1">
 <li class="toctree-l1">
  <a class="reference internal" href="1-Create-A-Project/index.html">
   1. Creating a Project
  </a>
 </li>
</ul>
<p class="caption">
 <span class="caption-text">
  Base/Raw Extraction
 </span>
</p>
<ul class="nav sidenav_l1">
 <li class="toctree-l1">
  <a class="reference internal" href="2-I-Source-Config/index.html">
   1. Source Configuration
  </a>
 </li>
 <li class="toctree-l1">
  <a class="reference internal" href="2-II-Instantiate-Base-Tables/index.html">
   2. Instantiate your Base Tables!
  </a>
 </li>
 <li class="toctree-l1">
  <a class="reference internal" href="2-III-Materialization-Development/index.html">
   3. Development in BASE
  </a>
 </li>
</ul>
<p class="caption">
 <span class="caption-text">
  Staging Transformations
 </span>
</p>
<ul class="nav sidenav_l1">
 <li class="toctree-l1">
  <a class="reference internal" href="3-Model-Stage-Tables/index.html">
   Get up to the Stage
  </a>
 </li>
</ul>
<p class="caption">
 <span class="caption-text">
  Mart Reporting
 </span>
</p>
<ul class="nav sidenav_l1">
 <li class="toctree-l1">
  <a class="reference internal" href="4-Model-Mart-Tables/index.html">
   1. What are the Facts?
  </a>
 </li>
 <li class="toctree-l1">
  <a class="reference internal" href="4-Model-Mart-Tables/index.html#dimension-and-fact-tables">
   2. Dimension and Fact Tables
  </a>
 </li>
 <li class="toctree-l1">
  <a class="reference internal" href="4-Model-Mart-Tables/index.html#embedding-business-logic">
   3. Embedding Business Logic
  </a>
 </li>
</ul>
<p class="caption">
 <span class="caption-text">
  Documentation
 </span>
</p>
<ul class="nav sidenav_l1">
 <li class="toctree-l1">
  <a class="reference internal" href="5-Documentation/index.html">
   1. Documention
  </a>
 </li>
</ul>
<p class="caption">
 <span class="caption-text">
  Additional Content
 </span>
</p>
<ul class="nav sidenav_l1">
 <li class="toctree-l1">
  <a class="reference internal" href="6-Advanced-Tests/index.html">
   1. Testing, Testing…
  </a>
 </li>
 <li class="toctree-l1">
  <a class="reference internal" href="7-Advanced-Templates/index.html">
   2. Templating &amp; Macros
  </a>
 </li>
</ul>
<p class="caption">
 <span class="caption-text">
  Next Steps
 </span>
</p>
<ul class="nav sidenav_l1">
 <li class="toctree-l1">
  <a class="reference internal" href="Thank-You/index.html">
   1. Next Steps!
  </a>
 </li>
</ul>

</nav>

 <!-- To handle the deprecated key -->

<div class="navbar_extra_footer">
  Powered by <a href="https://jupyterbook.org">Jupyter Book</a>
</div>

</div>


          


          
<main class="col py-md-3 pl-md-4 bd-content overflow-auto" role="main">
    
    <div class="row topbar fixed-top container-xl">
    <div class="col-12 col-md-3 bd-topbar-whitespace site-navigation show">
    </div>
    <div class="col pl-2 topbar-main">
        
        <button id="navbar-toggler" class="navbar-toggler ml-0" type="button" data-toggle="collapse"
            data-toggle="tooltip" data-placement="bottom" data-target=".site-navigation" aria-controls="navbar-menu"
            aria-expanded="true" aria-label="Toggle navigation" aria-controls="site-navigation"
            title="Toggle navigation" data-toggle="tooltip" data-placement="left">
            <i class="fas fa-bars"></i>
            <i class="fas fa-arrow-left"></i>
            <i class="fas fa-arrow-up"></i>
        </button>
        
        <div class="dropdown-buttons-trigger">
    <button id="dropdown-buttons-trigger" class="btn btn-secondary topbarbtn" aria-label="Download this page"><i
            class="fas fa-download"></i></button>

    
    <div class="dropdown-buttons">
        <!-- ipynb file if we had a myst markdown file -->
        
        <!-- Download raw file -->
        <a class="dropdown-buttons" href="_sources/README.md"><button type="button"
                class="btn btn-secondary topbarbtn" title="Download source file" data-toggle="tooltip"
                data-placement="left">.md</button></a>
        <!-- Download PDF via print -->
        <button type="button" id="download-print" class="btn btn-secondary topbarbtn" title="Print to PDF"
            onClick="window.print()" data-toggle="tooltip" data-placement="left">.pdf</button>
    </div>
    
</div>
        <!-- Source interaction buttons -->

<div class="dropdown-buttons-trigger">
    <button id="dropdown-buttons-trigger" class="btn btn-secondary topbarbtn"
        aria-label="Connect with source repository"><i class="fab fa-github"></i></button>
    <div class="dropdown-buttons sourcebuttons">
        <a class="repository-button"
            href="https://github.com/CloudChaoszero/dbtOfCourse"><button type="button" class="btn btn-secondary topbarbtn"
                data-toggle="tooltip" data-placement="left" title="Source repository"><i
                    class="fab fa-github"></i>repository</button></a>
        <a class="issues-button"
            href="https://github.com/CloudChaoszero/dbtOfCourse/issues/new?title=Issue%20on%20page%20%2FREADME.html&body=Your%20issue%20content%20here."><button
                type="button" class="btn btn-secondary topbarbtn" data-toggle="tooltip" data-placement="left"
                title="Open an issue"><i class="fas fa-lightbulb"></i>open issue</button></a>
        
    </div>
</div>


        <!-- Full screen (wrap in <a> to have style consistency -->
        <a class="full-screen-button"><button type="button" class="btn btn-secondary topbarbtn" data-toggle="tooltip"
                data-placement="bottom" onclick="toggleFullScreen()" title="Fullscreen mode"><i
                    class="fas fa-expand"></i></button></a>

        <!-- Launch buttons -->

    </div>

    <!-- Table of contents -->
    <div class="d-none d-md-block col-md-2 bd-toc show">
        
        <div class="tocsection onthispage pt-5 pb-3">
            <i class="fas fa-list"></i> Contents
        </div>
        <nav id="bd-toc-nav">
            <ul class="nav section-nav flex-column">
 <li class="toc-h1 nav-item toc-entry">
  <a class="reference internal nav-link" href="#">
   Analytic Engineering &amp; dbt: 0-100
  </a>
 </li>
 <li class="toc-h1 nav-item toc-entry">
  <a class="reference internal nav-link" href="#summary">
   Summary
  </a>
  <ul class="nav section-nav flex-column">
   <li class="toc-h2 nav-item toc-entry">
    <a class="reference internal nav-link" href="#donate">
     Donate
    </a>
   </li>
  </ul>
 </li>
 <li class="toc-h1 nav-item toc-entry">
  <a class="reference internal nav-link" href="#installation">
   Installation
  </a>
  <ul class="nav section-nav flex-column">
   <li class="toc-h2 nav-item toc-entry">
    <a class="reference internal nav-link" href="#the-tutorial">
     The Tutorial
    </a>
   </li>
   <li class="toc-h2 nav-item toc-entry">
    <a class="reference internal nav-link" href="#environment">
     Environment
    </a>
   </li>
  </ul>
 </li>
 <li class="toc-h1 nav-item toc-entry">
  <a class="reference internal nav-link" href="#resources">
   Resources
  </a>
 </li>
</ul>

        </nav>
        
    </div>
</div>
    <div id="main-content" class="row">
        <div class="col-12 col-md-9 pl-md-3 pr-md-0">
        
              <div>
                
  <div class="section" id="analytic-engineering-dbt-0-100">
<h1>Analytic Engineering &amp; dbt: 0-100<a class="headerlink" href="#analytic-engineering-dbt-0-100" title="Permalink to this headline">¶</a></h1>
<p><img alt="dbt Logo" src="https://docs.getdbt.com/img/dbt-logo-full.png" /></p>
</div>
<div class="section" id="summary">
<h1>Summary<a class="headerlink" href="#summary" title="Permalink to this headline">¶</a></h1>
<p>This is a quick guide on how to get started and create your data models using dbt (data build tool).
dbt is a Python-based packaged for managing <code class="docutils literal notranslate"><span class="pre">Transform</span></code>ations in the ELT (Extract, Load, Transform) lifecyle.</p>
<p>You can find a quick slide deck on dbt from <a class="reference external" href="https://raulingaverage.dev/Presentations/PyBayTalks/2020/dbt/Lighting-Talk-dbt#/">my past Lighting Talk on dbt, here</a>.
A video summary of this documentation can <a class="reference external" href="https://www.youtube.com/watch?v=EkeYdYnJ6kM&amp;list=PL83V3nc76mDrEfz1rRZ3L2fDYXDGm8yLk&amp;index=1">be found here, on Youtube</a>.
To see the resulting documentation portal, head to <a class="reference external" href="https://raulingaverage.dev/dbt-Docs-Tutorial-Portal/">raulingaverage.dev/dbt-Docs-Tutorial-Portal/)</a>.</p>
<ul class="simple">
<li><p>Tutorial: <a class="reference external" href="https://github.com/CloudChaoszero/onboarding-2-dbt">onboarding-2-dbt</a></p></li>
<li><p>Code: <a class="reference external" href="https://github.com/CloudChaoszero/customer-analytics">Github Repository</a></p></li>
<li><p>Youtube Overview: <a class="reference external" href="https://www.youtube.com/watch?v=EkeYdYnJ6kM&amp;list=PL83V3nc76mDrEfz1rRZ3L2fDYXDGm8yLk&amp;index=1">Analytics Engineering &amp; dbt: 0-100 playlist</a></p></li>
</ul>
<div class="section" id="donate">
<h2>Donate<a class="headerlink" href="#donate" title="Permalink to this headline">¶</a></h2>
<p>If you would like to support this project, feel free to consider donating to one of the following:</p>
<ul class="simple">
<li><p><a class="reference external" href="https://psfmember.org/civicrm/contribute/transact?reset=1&amp;id=6">PyLadies Donation</a></p>
<ul>
<li><p>Note: <a class="reference external" href="https://rladies.org/">RLadies</a> too, but I think they have enough funding, compared to PyLadies. Your choice, of course. :D</p></li>
<li><p>Why? With the recent trend gatekeeping and impact on COVID-19 on women, I feel this is top priority.</p></li>
</ul>
</li>
<li><p><a class="reference external" href="http://www.deltanalytics.org/donate.html">Delta Analytics</a></p>
<ul>
<li><p>Why? Nonprofit I volunteer for</p></li>
</ul>
</li>
<li><p><a class="reference external" href="https://devmission.org/">Dev/Mission</a></p>
<ul>
<li><p>Why? I really care about minorities, Blackx and Latinx groups going into tech.</p></li>
</ul>
</li>
<li><p><a class="reference external" href="https://numfocus.org/donate">NumFocus Donate</a></p>
<ul>
<li><p>Why? &lt;3 Python community</p></li>
</ul>
</li>
</ul>
</div>
</div>
<div class="section" id="installation">
<h1>Installation<a class="headerlink" href="#installation" title="Permalink to this headline">¶</a></h1>
<div class="section" id="the-tutorial">
<h2>The Tutorial<a class="headerlink" href="#the-tutorial" title="Permalink to this headline">¶</a></h2>
<p>Go to this repository <a class="reference external" href="https://github.com/CloudChaoszero/customer-analytics">customer-analytics</a>, and enter the following in your CLI (outside of this repo):</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>git clone https://github.com/CloudChaoszero/customer-analytics.git
</pre></div>
</div>
<ul class="simple">
<li><p>Note: I used a Snowflake Trial to implement this tutorial.</p></li>
</ul>
</div>
<div class="section" id="environment">
<h2>Environment<a class="headerlink" href="#environment" title="Permalink to this headline">¶</a></h2>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>conda create --name dbtcourse
python -m ipykernel install --user --name dbtcourse --display-name <span class="s2">&quot;Python (dbt Course)&quot;</span>
</pre></div>
</div>
</div>
</div>
<div class="section" id="resources">
<h1>Resources<a class="headerlink" href="#resources" title="Permalink to this headline">¶</a></h1>
<ul class="simple">
<li><p><a class="reference external" href="https://docs.getdbt.com/">dbt Documentation</a></p></li>
<li><p>Tutorial <a class="reference external" href="https://github.com/CloudChaoszero/customer-analytics">customer-analytics</a></p></li>
</ul>
<p><img alt="" src="https://media.giphy.com/media/QYkX9IMHthYn0Y3pcG/giphy.gif" /></p>
</div>

    <script type="text/x-thebe-config">
    {
        requestKernel: true,
        binderOptions: {
            repo: "binder-examples/jupyter-stacks-datascience",
            ref: "master",
        },
        codeMirrorConfig: {
            theme: "abcdef",
            mode: "python"
        },
        kernelOptions: {
            kernelName: "python3",
            path: "./."
        },
        predefinedOutput: true
    }
    </script>
    <script>kernelName = 'python3'</script>

              </div>
              
        </div>
    </div>
    
    
    <div class='prev-next-bottom'>
        

    </div>
    <footer class="footer mt-5 mt-md-0">
    <div class="container">
      <p>
        
          By Raul Maldonado<br/>
        
            &copy; Copyright 2020.<br/>
      </p>
    </div>
  </footer>
</main>


      </div>
    </div>

    
  <script src="_static/js/index.30270b6e4c972e43c488.js"></script>


    
  </body>
</html>

About

This is a quick guide on how to get started and create your data models using dbt (data build tool). dbt is a Python-based packaged for managing Transformations in the ELT (Extract, Load, Transform) lifecyle.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published