Apache Superset で TiDB Cloud Lake に接続する
Apache Superset は、オープンソースのデータ探索および可視化プラットフォームです。Superset は、TiDB Cloud Lake dialect for SQLAlchemy を介して TiDB Cloud Lake に接続します。
前提条件
開始する前に、以下を用意してください。
- Docker
- TiDB Cloud Lake のアカウント、データベース、および Warehouse
- 接続に使用するホスト、ユーザー名、パスワード、データベース、および Warehouse 名
接続情報の取得方法については、Warehouse に接続する を参照してください。
Superset イメージをビルドする
公式の Superset イメージには、TiDB Cloud Lake SQLAlchemy dialect は含まれていません。Dockerfile という名前のファイルを作成し、以下の内容を記述します。
FROM apache/superset
USER root
RUN pip install --no-cache-dir tidbcloudlake-sqlalchemy
USER superset
tidbcloudlake-sqlalchemy パッケージは、必要な TiDB Cloud Lake Python ドライバーを依存関係としてインストールします。
イメージをビルドします。
docker build -t superset-lake .
イメージからコンテナを起動します。
docker run -d \
-p 8080:8088 \
-e "SUPERSET_SECRET_KEY=<your-secret-key>" \
--name superset \
superset-lake
Superset を初期化する
管理者アカウントを作成します。
docker exec -it superset superset fab create-admin \
--username admin \
--firstname Superset \
--lastname Admin \
--email admin@example.com \
--password <admin-password>
データベースマイグレーションを適用します。
docker exec -it superset superset db upgrade
Superset を初期化します。
docker exec -it superset superset init
http://localhost:8080 を開き、管理者アカウントでサインインします。
Superset を TiDB Cloud Lake に接続する
Superset で、Settings > Data > Connect Database を選択します。
データベースタイプとして Other を選択します。
TiDB Cloud Lakeなどの表示名を入力します。以下の形式で SQLAlchemy URI を入力します。
lake://<username>:<password>@<host>:443/<database>?warehouse=<warehouse>Test Connection をクリックします。
接続テストが成功したら、Connect をクリックします。
これで、Superset で TiDB Cloud Lake テーブルからデータセットを作成し、それらをチャートやダッシュボードで使用できるようになります。