-
Notifications
You must be signed in to change notification settings - Fork 0
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.
CloudChaoszero/onboarding-2-dbt
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta charset="utf-8" /> <title>Analytic Engineering & dbt: 0-100 — Analytic Engineering & 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 & 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 & 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 & 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 & 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&list=PL83V3nc76mDrEfz1rRZ3L2fDYXDGm8yLk&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&list=PL83V3nc76mDrEfz1rRZ3L2fDYXDGm8yLk&index=1">Analytics Engineering & 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&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? <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">"Python (dbt Course)"</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/> © 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 0
No packages published