LightDash と Snowflake を使ってデータを可視化する方法
概要
この記事の対象者:
データ分析やBIツールに興味がある人。LightDashに興味ある人。
この記事の内容:
LightDashの特徴とインストールから初期設定、dbtのセットアップ、グラフ作成までのハンズオン手順を紹介。
この記事を読んでわかる事:
LightDashの基本的な使い方と設定方法、dbtとの連携方法、データの可視化手順が理解できる。
LightDashについて
LightDashのホームページを見てみます。
LigthDashは簡単に言うと、dbtのためのBIプラットホームです
データの可視化と分析を簡単に行うことができます。
特徴
-
dbtとネイティブに統合されており、データの変換やモデリングを効率的に行うことができる
-
直感的なインターフェースと強力な機能により、データの探索や分析が容易に行える
-
CICDと統合されており、データパイプラインの自動化と効率化が可能
-
OSSのため、ニーズに合わせてカスタマイズやコミュニティの拡張機能を使用できる
ハンズオン
1. LightDashのインストール
まず、ターミナルを開き、以下のコマンドを実行してLightDashのリポジトリをクローンします。
git clone https://github.com/lightdash/lightdash
cd lightdash
scripts/install.sh
install.shスクリプトを実行すると、インストール方法が聞かれるので「1」を入力します。
Choose installation method:
1. Local installation
2. Docker installation
Enter your choice: 1
インストールが完了するまで約10分ほど待ちます。成功すると下記のメッセージが表示されます。
Installation successful! You can now access LightDash at http://localhost:8080
2. LightDashの初期設定
ブラウザで http://localhost:8080 を開き、以下の画面が表示されることを確認します。
ユーザー登録
名前、メールアドレス、パスワードを入力し、「Sign Up」をクリックします。
※パスワードには下記の制約があります。
続いて、組織名とロールを入力します。チェックボックスは任意で選択してください。
完了後、「Next」をクリックします。
データウェアハウスの選択
次に、使用するデータウェアハウスを選択します。今回はSnowflakeを選択します。
Select your data warehouse:
1. Snowflake
2. BigQuery
3. Redshift
4. Other
Enter your choice: 1
「Other」を選択肢にありますが、現時点では何も選択できません。
CLIの設定
「Using your CLI」をクリックし、表示されるコマンドに基づいて以下を実行します。
npm install -g @lightdash/cli@0.1315.4
lightdash login http://localhost:8080 -token <your_token>
次に、LightDashのデプロイを行います。
lightdash deploy --create
※ dbt_project.yml が存在するディレクトリで実行する必要があります。Nodeのバージョンは特に変更しなくても実行可能です。
3. dbtのセットアップ
以下のコマンドを実行して、Python仮想環境を作成し、dbtとdbt-snowflakeをインストールします。
python3 -m venv .venv
source .venv/bin/activate
pip install dbt
pip install dbt-snowflake
dbt init dbt_sample
dbt init の後、アカウントやパスワードを設定します。
Which database would you like to use? [1]snowflake: 1
account(https://<this_value>.snowflakecomputing.com):
user(dev username): xxxx
[1]password: 1
password: xxxxx
4. モデルとシードデータの設定
models ディレクトリにSQLとYMLファイルを記入し、seeds ディレクトリにCSVファイルをアップロードします。
dbt seed --select sauna_data
dbt run --models sauna_data
再度、LightDashのデプロイを行います。
lightdash deploy --create
5. lightdashディプロイ
次のコマンドよりlightdashをディプロイします
lightdash deploy –create
認証が確認されると、リンクが表示されます。そちらを開きます。
もし、リンクが表示されない場合、Snowflake認証を確認してみてください。
私の場合、mfaを許可してないとリンクが表示されませんでした。
(そして、3回気付かずmfaに失敗し15分間ロックされやっと気づきました)
6. グラフ作成
Run a queryをクリックします。
表示したいカラムを画面左のDimensionsより選択します。
表示したい列を選択し、画面右上Run queryを実行します。
mfa認証を許可する(許可しないとloading画面で止まる)
成功するとchartが自動で生成されます。
画面右端のConfigureよりグラフの設定ができます。
そして、複数のグラフを組み合わせると以下のダッシュボードも作成することができます!
結論
もしdbtをお使いの場合、LightDashでグラフ表示してみてはいかがでしょうか??
Discussion