---
title: 【dagster】環境構築からモデル実行までをシンプルにやってみる（dbtCore+Snowflake）
description: DagsterとdbtCoreを使用して環境構築からモデル実行までをシンプルに行う方法を紹介します。Dagsterの導入やdbtプロジェクトの実行方法など、詳細な手順を解説しています。初めての方でも学びやすいので、ぜひチェックしてみてください。
---

[BI LAB データ活用研究所 - INSIGHT LAB](https://knowledge.insight-lab.co.jp/bi)

# [【dagster】環境構築からモデル実行までをシンプルにやってみる（dbtCore+Snowflake）](https://knowledge.insight-lab.co.jp/bi/-dagster-simple-start-dbt-snowflake)

 作成者: [uta](https://knowledge.insight-lab.co.jp/bi/author/uta)｜2023年12月29日

## はじめに

データ変換ツールであるdbtには、SaaS製品のdbtCloudとOSS製品のdbtCoreがあります。  
dbtCloudにはコマンドを定期実行するデプロイ機能がありますが、dbtCoreにはありません。

ワークフローツールの選択肢の一つであるDagsterでdbtCoreのコマンドをワークフロー実行するまでの手順を紹介します。

 

## 環境

- Dockerコンテナ(python3.9.10 burst)
- Snowflake
- dbtCore
- Dagster

 

## 環境構築

先に以下の記事に従ってdbtCoreを使用できるコンテナ環境を構築してください。

[https://knowledge.insight-lab.co.jp/bi/-dbtcore-simple-start](https://knowledge.insight-lab.co.jp/bi/-dbtcore-simple-start)

 

## Dagster

### インストール

dagsterをインストールします。

> pip install dagster-dbt dagster-webserver

 

|   ⚠️ 以下のエラーが発生する場合 > ERROR: Failed building wheel for pendulum > Failed to build pendulum > ERROR: Could not build wheels for pendulum, which is required to install pyproject.toml-based projects Pythonバージョンが異なっていたりするとpendulumモジュールが起因となってインストールできないことがあります。3.9以外で行う場合はバージョンを確認してください。 |
| --- |

 

dbt用リポジトリのあるフォルダに移動

> cd ~/{dbt\_project.ymlのあるディレクトリ}

 

dagsterプロジェクトを作成

> dagster-dbt project scaffold --project-name 任意のプロジェクト名

 

実行するとdagster用のフォルダとファイル群が作成されます。

 

dagsterプロジェクトに移動します。

> cd 任意のプロジェクト名

 

dagster UIを起動します。

> DAGSTER\_DBT\_PARSE\_PROJECT\_ON\_LOAD=1 dagster dev

|  ⚠️ dagsterディレクトリで実行しないと以下のエラーが発生します。 > Error: No arguments given and no \[tool.dagster\] block in pyproject.toml found. |
| --- |

 

起動が完了したら、http://127.0.0.1:3000にアクセスできるようになります。

 

右上の「Materalize all」をクリックすると、dbtプロジェクトがビルドされクエリが実行されます。

※dbtプロジェクト内にある全てのモデルが反映されます。

 

SnowflakeにはDagsterからの命令で実行されたクエリが実行されています。

 

## おわりに

本記事では、dbt環境にDagsterをインストールし、dbtCoreで作成したモデルをDagsterから実行しました。

DagsterはAssetやOpといった独自の概念を持ち、初めて触る人にとっては学習コストがやや高めですが、公式に様々な学習コンテンツが用意されているので、焦らず学んでいきましょう。

- [Dagster Univercity](https://courses.dagster.io/courses/dagster-essentials)
- [Tutorial](https://docs.dagster.io/tutorial)
- [dbt + Dagster](https://docs.dagster.io/integrations/dbt)

 

[完全な記事を表示](https://knowledge.insight-lab.co.jp/bi/-dagster-simple-start-dbt-snowflake)

```json
{
  "@context" : "http://schema.org",
  "@type" : "BlogPosting",
  "author" : {
    "@type" : "Person",
    "name" : "uta"
  },
  "dateModified" : "2023-12-29T04:46:11.596Z",
  "datePublished" : "2023-12-29T04:46:11Z",
  "headline" : "【dagster】環境構築からモデル実行までをシンプルにやってみる（dbtCore+Snowflake）",
  "image" : {
    "@type" : "ImageObject",
    "height" : 320,
    "url" : "https://download.insight-lab.co.jp/hubfs/dagster-primary-horizontal.png",
    "width" : 1120
  },
  "mainEntityOfPage" : "https://knowledge.insight-lab.co.jp/bi/-dagster-simple-start-dbt-snowflake",
  "publisher" : {
    "@type" : "Organization",
    "logo" : {
      "@type" : "ImageObject",
      "height" : 60,
      "url" : "/hs/hsstatic/content_shared_assets/static-1.4092/img/default-amp-logo.png",
      "width" : 60
    },
    "name" : "BI LAB データ活用研究所 - INSIGHT LAB"
  }
}
```