Skip to content

This is a project of data warehouse built on BigQuery using dbt with serverless.

Notifications You must be signed in to change notification settings

yinkaihsu/data_warehouse_bq_dbt

Repository files navigation

data_warehouse_bq_dbt

This is a project of data warehouse built on BigQuery using dbt with serverless.

Data Structure

data structure diagram

Local Build FastAPI using HTTP requests to call dbt commands

  1. Add service account crediental file in folder /secrets with file naming dbt-admin_credential.json
  2. Build Docker image
    docker build -t data_warehouse_bq_dbt:latest .
  3. Run Docker Container
    sh ./start.sh
  4. (Optional) Use OpenAPI documentations

    To access from your browser, navigate to: http://localhost:5000/docs

Local Build using dbt

  1. Add service account crediental file in folder /secrets with file naming dbt-admin_credential.json
  2. Run Docker Container
    sh ./dbt_start.sh
  3. Run DBT commands in Docker Container
    cd /dbt
    # Example (can refer to dbt_script.sh)
    dbt debug --profiles-dir .
  4. (Optional) Generate DBT documentations
    dbt docs generate --profiles-dir .
    dbt docs serve --profiles-dir .

    To access from your browser, navigate to: http://localhost:8080

Local Build FastAPI

  1. Run Docker Container
    sh ./app_start.sh
  2. Run FastAPI server in Docker Container
    cd /app
    # install python packages
    pip install -r requirements.txt
    # run FastAPI server
    python main.py
  3. (Optional) Use OpenAPI documentations

    To access from your browser, navigate to: http://localhost:5000/docs

Local Build Cube.js

  1. Run Docker Container
    sh ./cube_start.sh
  2. (Optional) Use Cube.js playground site to query data

    To access from your browser, navigate to: http://localhost:4000

About

This is a project of data warehouse built on BigQuery using dbt with serverless.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published