Quick Setup Guide to Installing dbt Core on an M1 Mac

This is a high-level overview on getting started with dbt Core via CLI, and is by no means canonical. This is targeted for those with an M1 Mac who prefer not to manage Python virtual environments or Docker.

Summary

  • Install Rosetta
  • Install Homebrew
  • Install dbt
  • Clone GitHub repo
  • Configure your <span class="code">.dbt/profile.yml</span>

Install Rosetta

From dbt:
"If you're using an M1 Mac, we recommend that you install dbt via Homebrew with Rosetta. This is necessary for certain dependencies that are only supported on Intel processors."

/usr/sbin/softwareupdate --install-rosetta

Install Homebrew

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

Install dbt

brew update
brew install git
brew tap dbt-labs/dbt

brew install dbt-snowflake@1.0.0

Make sure to match the dbt version of the project!

Clone GitHub repo

Helpful resources:

Configure profiles.yml

  1. Create a profiles.yml file using the next template:
analytics:
 target: dev
 outputs:
   dev:
     type: snowflake
     account: ********
     role: ********
     
     # User/password auth
     user: ********
     password: ********

     database: ANALYTICS
     warehouse: INTEGRATION
     schema: ANALYTICS_DEV
     threads: 10

and put this file into <span class="code">~/.dbt/profiles.yml</span> or set an environment variable <span class="code">DBT_PROFILES_DIR</span> with a path to a directory with your profiles.yml file.

<span class="code">dbt debug --config-dir</span> is helpful for finding your directory:

dbt-beers [master] dbt debug --config-dir
21:52:48  Running with dbt=1.1.1
21:52:48  To view your profiles.yml file, run:

open /Users/kylemcnair/.dbt

Test your connection

Run <span class="code">dbt debug</span>

If checks pass, you’re ready to contribute to your dbt project!

Datafold is the fastest way to validate dbt model changes during development, deployment & migrations. Datafold allows data engineers to audit their work in minutes without writing tests or custom queries. Integrated into CI, Datafold enables data teams to deploy with full confidence, ship faster, and leave tedious QA and firefighting behind.

Datafold is the fastest way to test dbt code changes