PRODUS Inc.

Apache Superset開発①

ビジネスシーンでBIツールを導入しようとすると、どうしてもコストがネックになります。 優秀なBIツールは年間で数百万〜数千万のコストが発生するからです。 もちろん安いツールもありますが、安いものは機能が少なく・高いものは高機能です。

近年、データリテラシの向上目的で社員全員がBIツールを利用できる環境を提供している企業も増えてきていますが、環境はあっても実際利用している社員が使わなければ高いBIツールも宝のもち腐れとなってしまいます。 そこで、低コストなBIツールを導入して、使うことをまず第一歩とするのがよいのではないかと考えています。

低コストBIツールというと、Amazon Quicksight、Google Looker Studio(旧Data Portal)、Microsoft Power BIが主となりますが、今回はOSSのApache Superset (以下、Superset)をご紹介したいと思います。

Apache Superset

https://superset.apache.org

オープンソースのデータ可視化およびビジネスインテリジェンス (BI) プラットフォーム。 データの探索、分析、ダッシュボード作成をサポートするツールで、使いやすいインターフェースを提供し、さまざまなデータソースと連携して高度な分析を行うことができます。 実際の稼働構成としてはKubernetes上にデプロイして、バックエンドでMySQLやPostgreSQLのDBを利用、キャッシュエンジンにRedisを組み込んで運用することが多いです。

SupersetはOSSであるため開発者が機能拡張することが可能ですが、機能拡張の方法がWeb上を探しても記述がほとんどありません。 そのため、これから複数回に分けて機能追加する方法を記載していきます。

開発環境の準備

まず私の環境をご紹介

  • 利用端末:Macbook Pro M2 / Mac OS Sonoma
  • 開発環境:Visual Studio Code 1.95.1
  • 必要App: git、Python3.11.9、Docker Desktop

※Appはインストールしている前提で以下記述します。 ※Python3.12系以降はpipコマンドでエラーが発生することがあるため3.11を利用しています。

①Visual Studio Codeプラグインのインストール

Visual Studio Codeにpythonプラグインをインストール

VS Code Pythonプラグイン

インストールしたpythonを環境変数PATHに設定していない場合は、設定画面でコマンドパスを登録しましょう。 →Python: Default Interpreter Path

Pythonパス設定

②Apache Supersetのソースコードを取得

ソース管理メニューから「リポジトリの複製」を選択して、SupersetのGithubからクローンします。 Clone URL: https://github.com/apache/superset.git

リポジトリの複製

クローン中

SupersetはフロントエンドはReact、バックエンドはPythonで開発されています。

③必要モジュールのインストール

supersetに必要なpythonモジュールをpipコマンドを使って取得します。

$ pip install .

pipインストール

④Visual Studio Code上のpythonインポート警告対応

pythonのソースコードを開くとインポートステートメントが警告表示されてしまいます。 これは必要なライブラリ等をVisual Studio Codeが認識していないことによるものです。 設定ファイルを追加することで警告をオフにすることができます。 supersetディレクトリ配下に.vscodeディレクトリを作成し、その中にsettings.jsonを配置します。

警告表示

{
    "python.analysis.extraPaths": ["/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages"]
}

警告解消

これで警告を抑制することができます。


これで開発環境の準備は完了です。 次回はソースコードからアプリケーション起動するところをご紹介します。