Airbnb Supersetを素人が読み解く
Superset !! airbnbが開発・公開し、先日Apache IncubatorとなったSupersetについて作りを読み解く。Supersetとは、SQLデータベース内の情報をQueryし、結果をリッチな図表で視覚化してくれるWebツールです。 背景 このSupersetをベースにSQL文をGUI操作から自動生成するツールを今風のツール使ってオシャレに効率良く作りたい!という背景があり、まずは Supersetがどんな部品で構成されているの? 目的を果たすにはどのへんを集中して掘り下げていけば良いか? をクリアにするために読み解き作業を行います。 方針 主にPythonとNode.jsで構成されているらしく、Python部分の作りを自動可視化して様子を見てみる。 開発環境 以下を参考にSuperset開発環境を整える。 incubator-superset/CONTRIBUTING.md at master · apache/incubator-superset 以下を実行して仮想環境を作成し、ソースをリポジトリからクローンする。 $ virtualenv superset_dev_venv $ . ./superset_dev_venv/bin/activate $ git clone https://github.com/apache/incubator-superset.git incubator-superset-dev あとは言われたとおりやる。 $ fabmanager create-admin --app superset ここで admin でユーザ作るとDBへのユーザ追加時にエラーとなるので注意 $ superset db upgrade $ superset init $ superset load_examples $ superset runserver -d -p 9099 この状態でアクセスするとフロントエンドが未完成な感じのまま。このままnpmによるnodejsのセットアップに移ります。 $ cd superset/assets/ $ npm install -g ya...