Skip to content

A series of challenges for the dbt analytics engineer certification

License

Notifications You must be signed in to change notification settings

wjsutton/spill_the_dbt

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Spill the dbt 🍵

A series of practical data transformation challenges with dbt, designed to help you get comfortable with dbt and its functionality.

These challenges generally follow the content for the dbt Analytics Engineer Certification, providing hands-on experience with concepts covered in the certification.

Getting Started

📺 Installation walkthrough now available

To work with these challenges, please follow the steps below:

1. Fork the Repository

You should fork the repository to your own GitHub account:

  • Click the "Fork" button at the top right corner of this page.
  • Choose your GitHub account to fork the repository.

2. Clone Your Forked Repository

Once you've forked the repository, clone it to your local machine using:

gh repo clone your-username/spill_the_dbt

3. Set Up Your Environment

Create a virtual environment

python -m venv dbt-env

Activate your virtual environment Windows:

dbt-env\Scripts\activate

Mac / Linux

source dbt-env/bin/activate

Install the required packages

pip install -r requirements.txt

4. Work Through the Challenge

  • Follow the step-by-step instructions provided in the challenge markdown file.
  • Write your dbt models, tests, and code as instructed.
  • Use Git to commit your changes to your forked repository.

5. Optional: Share Your Solutions

If you'd like to share your solutions on social:

  • Use the hashtag #SpillTheDBT
  • Add an image of your code with carbon.now.sh/
  • Write about your solution and the techniques used to complete the challenge

If you'd like to contribute back to the project, you can create a pull request for spill_the_dbt.

Challenges

Week Challenge Estimated Time Skills Tested Walkthrough Solutions
1. Introduction to dbt-core 1/2 a day - Basic connection profiles
- Migrating SQL code to dbt
- Running and testing models
- Referencing model outputs
- Generating documentation
📺 Walkthrough Solution
2. Testing models to find errors 1/2 a day - Generic & relationship tests
- Custom & singular tests
- Tests from dbt packages
Coming soon Solution
3. Incremental Models and Python 1 day - Incremental models
- Python models
- API data integration
- Tests from dbt packages
Coming soon Solution

More challenges coming soon!

Contributing

Contributions are welcome! If you have ideas for new challenges, improvements to existing ones, or want to share your solutions, please feel free to:

  • Open an Issue: Use the GitHub Issues tab to discuss your ideas or report problems.
  • Create a Pull Request: Fork the repository, make your changes, and submit a pull request for review.

Please ensure your contributions align with the project's goals and that you follow the contribution guidelines.

Contribution Guidelines

  • Be respectful and considerate in your interactions.
  • Avoid offensive or inappropriate language and content.
  • Provide constructive feedback and be open to feedback on your contributions.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgments

Special thanks to the dbt community for their support and resources. These challenges are inspired by the content for the dbt Analytics Engineer Certification.

About

A series of challenges for the dbt analytics engineer certification

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages