読者です 読者をやめる 読者になる 読者になる

the industrial

都内で働くITエンジニアの日記

Supersetを試してみる

Supersetとは

Superset

宿泊施設マッチングサイトAirBnB(エアビーアンドビー)が提供する、データ可視化ツール

Supersetをインストールし、DBとつなぎ、Queryを書き、ヴィジュアライズしてダッシュボードを構築することで

マーケティングなどに役立てることが出来る

インストール方法

基本的にはオフィシャルサイトにある Superset’s documentation の通りにやっていけば良い

ここではMacOSにインストールする方法をメモっておく

Python の実行環境構築

SupersetはPython製なので、先ずはPython実行環境の構築

とは言っても、Homebrewで一発

$ brew install python

pkg-config、libffi、openssl をインストール

他に、pkg-configlibffiopenssl 等が必要となるそうなので、インストール

$ brew install pkg-config libffi openssl

pip について

pip | wikipedia

pip は、pythonのためのライブラリ管理ツール

homebrewやnodebrewみたいなもの

cryptography のインストール

cryptography

Python製の暗号化ライブラリ

env LDFLAGS="-L$(brew --prefix openssl)/lib" CFLAGS="-I$(brew --prefix openssl)/include" pip install cryptography

env については、 opensslcryptography を結びつける設定かな?

あまり詳しくなくて申し訳無し

virtualenv

Pythonの仮想環境を構築できるパッケージ。

こちらも、 Superset’s documentation を参考にインストール

pip install virtualenv

こちらの記事がとても詳しく書かれていたので、参考に

VIRTUALENV について | 今日のPython

superset のインストール

pip install superset

Adminユーザーを作成する

下記コマンドを実行すると、氏名、メルアド、パスワードを聞かれるので入力する

ここで入力した情報が初回ログインユーザーとなる

fabmanager は、 SupersetSQLiteにデータ登録するコマンド?

fabmanager create-admin --app superset

DBのイニシャライズを行う

これは、 Superset’s documentation に記載されたコトそのまま・・・

実際に何するかまでは調べていない

superset db upgrade

初期データを登録(多分スキップ可能)

これも、 Superset’s documentation に記載されたコトそのまま・・・

Supersetを利用する上で例となる、ものすごく豊富なデータを登録してくれる(スクリプトだと思っている)

superset load_examples

権限などの初期化

これも、 Superset’s documentation に記載されたコトそのまま・・・

superset init

サーバー起動

下記コマンドでSupersetを起動する

superset runserver

その後、 http://localhost:8088 にアクセスするとログイン画面が表示される

fabmanager で登録したユーザーでログインできる

MySQLに接続する

SQLAlchemyについて

SQLAlchemy

SQLAlchemyPythonのためのO/Rマッパーとのこと

Python界(とSuperset)のことは何もしらないので間違っていたら申し訳ないのだけど

SupersetはこのORMを採用している

MySql Connector (PyMySQLのインストール)

SQLAlchemyとは別に、MySQLにつなげるConnectorが必要になる

僕が試したのは PyMySQL 。これが良いものかどうかはワカラナイけど、とりあえずこれでつなぐことが出きた。

PyMySQLpip でインストールする。

pip install PyMySQL

MySql接続設定

上部の SourcesDatabases+ボタン から、 SQLAlchemy URI というフォームに

mysql+pymysql://{mysql_user}:{mysql_password}@localhost:3306/{database_name}

的なニュアンスでDB情報を入力

Test Connection で確認。

最後に

最後に、とか書いてるけど、とりあえずセットアップぐらいまでの手順しかまとめられなかった。

ただ、 superset load_examples をやってあげれば、それはもうエゲツないデータが登録され、グリグリしたなんかもう良くわからないグラフをダッシュボードから見ることが出来るので、是非お試しを。

エゲツないグラフは github のREADME.mdでgif確認出来るので、見てみると良い。

使い方はノリでできそう。

もう暫く触ってみたい。