/docker-dbt

Docker image for FishtownAnalytics DBT

Primary LanguageShell

dbt-logo

DBT

Docker image for DBT-labs (former FishtownAnalytics) data build tool (DBT).

Docker Cloud Automated build Docker Cloud Build Status Docker Pulls

Important notice

Since version 1.0.0 my images are optimized for two different architectures: AMD 64 and ARM 64. Last one is really helpful for running on Apple M1 machines.

========

Also please be informed that since DBT version 1.7.8, the tagging for my images has been changed.

Now the fully qualified tag looks like this:

xemuliam/dbt:1.7.8-bigquery1.7.5
             -----         -----
               |             |
           dbt-core      dbt-bigquery

Please take that into account to avoid any misleading

Latest Spins

  • Docker Image Version (tag latest semver) Docker Image Size (tag) = 1.8-bigquery = bigquery
  • Docker Image Version (tag latest semver) Docker Image Size (tag) = 1.8-snowflake = snowflake
  • Docker Image Version (tag latest semver) Docker Image Size (tag) = 1.8-redshift = redshift
  • Docker Image Version (tag latest semver) Docker Image Size (tag) = 1.8-synapse = synapse

Full

Click to expand

I decided to stop maintaining full version of image because of version mixing for each of plugins

  • Docker Image Version (tag latest semver) Docker Image Size (tag) = 1.6
  • Docker Image Version (tag latest semver) Docker Image Size (tag) = 1.5
  • Docker Image Version (tag latest semver) Docker Image Size (tag) = 1.4
  • Docker Image Version (tag latest semver) Docker Image Size (tag) = 1.3
  • Docker Image Version (tag latest semver) Docker Image Size (tag) = 1.2
  • Docker Image Version (tag latest semver) Docker Image Size (tag) = 1.1
  • Docker Image Version (tag latest semver) Docker Image Size (tag) = 1.0
  • Docker Image Version (tag latest semver) Docker Image Size (tag) = 0.21

More

More images you can find on tags page

 ___________
<    DBT    >
 -----------
    \
     \
      \
                    ##        .
              ## ## ##       ==
           ## ## ## ##      ===
       /""""""""""""""""___/ ===
  ~~~ {~~ ~~~~ ~~~ ~~~~ ~~ ~ /  ===- ~~~
       \______ o          __/
        \    \        __/
          \____\______/

Overview

The main idea is to give possibility to work with DBT without unnesessary components and via Docker way.

The image is more tiny than official one but provides the same functionality.

Spins

DBT supports several plugins and full docker image contains all of them.

However in most of cases we don't use such stuff because of technological lanscape in our work. Thus you don't need to work with unnecessary plugins and fuctionality.

I've additionaly prepared three spins dedicated to main cloud datawarehouses supported by DBT (all other plugins have been removed at build stage):

And those spins are really tiny!

One spin I prepared especially to have the minimal size. It is based on Alpine linux and contains Google BigQuery plugin only.

Docker Image Version (tag) Docker Image Size (tag) >>> Docker Image Size (tag) Docker Image Version (tag latest semver)

Feel the difference :)

What is DBT?

dbt is a development environment that speaks the preferred language of data analysts everywhere—SQL. With dbt, analysts take ownership of the entire analytics engineering workflow, from writing data transformation code to deployment and documentation.

dbt diadram

Official documentation and guides

All official documentation can be found on DBT Docs

How to build with particular version and/or plugins set

Look into build script

Enjoy! :)