LoginSignup
0
1

dbt-coreにおけるOSS活動ことはじめその2 ~ 環境構築の話 ~

Last updated at Posted at 2023-05-25

本記事が目指すこと

  • dbt-coreにおけるOSS活動を始めるにあたってやるべきこと、学びになったことを紹介する
    • 複数回に渡り連載する予定

注意

  • 投稿時点(2023/5/25)での情報に基づくため、本記事で紹介した手順が今後も利用できる保証はありません。また、本記事の内容を継続的にメンテナンスする予定も今のところは無いです
  • なお、本記事は筆者が所属する会社と関係なく、個人の記事であることをご了承ください

背景

  • 筆者は、ちゅらデータ株式会社に務める会社員であるが、就業時間中に職務としてのdbt-coreのOSS活動を始めた(OSS活動自体が初めての経験)
  • CONTRIBUTING.mdを読めば環境構築ができるが、最低限何を実行すれば良いかについてはまとまっていないため、備忘録としてまとめる

本編

前提

手順

  1. dbt-labs/dbt-coreのリポジトリをフォークする

    1. 画面右上の[Fork]をクリックし、自分のリポジトリにフォーク
    2. git clone https://github.com/YOUR-USERNAME/YOUR-REPOSITORYでフォークしたリモートリポジトリをローカルリポジトリとしてクローンする
  2. 環境準備(上記手順の1.2.にてクローンしたリポジトリ[dbt-core]で以下の操作を実施する)

    1. venv環境を作成
      • python3 -m venv env
        • 期待される結果
          • カレントディレクトリに[env]が作成される
    2. venv環境をアクティベート
      • macの場合
        • source env/bin/activate
      • Windowsの場合
        • env\Scripts\activate
      • 期待される結果
        • コマンドラインの先頭に(env)と表示される
    3. pipモジュールを最新版にする
      • pip install --upgrade pip
      • 期待される結果
        • [Successfully installed pip-xx.x.x] と表示される(xxはpipのバージョン)
    4. dbt環境をインストール(クローンしたdbt-coreディレクトリで)
      • make dev
      • 正常終了後、以下のコマンドを実行
        • dbt環境がvenv環境に作成されていることを確認
          • which dbt
        • 期待される結果(venv環境のパスを示していればOK)
          • [env/bin/dbt]と表示される
    5. Dockerを用いてローカルにDB環境(Postgres)をセットアップ
      • make setup-db
      • 正常終了後、以下のコマンドを実行
        • dockerコンテナが起動していることを確認
          • docker ps
        • 期待される出力
          • DB(Postgres)コンテナ[dbt-core_database_1]が確認できる
    6. ~/.dbt/profiles.ymlに以下のプロファイルを記載(5.で作成したDBとの接続情報(docker-compose.ymlに記述したdatabaseの設定値)を記述すればよい)
default:
  target: dev
  outputs:
    dev:
      type: postgres
      host: localhost
      user: root
      password: password
      port: 5432
      dbname: postgres
      schema: public
      threads: 4

以上。テストについては続編で執筆予定

終わりに

ちゅらデータでは、クレイジーな仲間を募集しているでござる
データエンジニア、もしくはSE系からデータエンジニアになりたい方がいればぜひ、御仁の力量に応じたグレード(ジュニア/ミドル/シニア)にて、応募するでござる

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1