使用 Apache Superset 连接到 TiDB Cloud Lake
Apache Superset 是一个开源的数据探索和可视化平台。Superset 通过 TiDB Cloud Lake dialect for SQLAlchemy 连接到 TiDB Cloud Lake。
前提条件
开始之前,请确保你已具备以下条件:
- Docker
- 一个 TiDB Cloud Lake 账户、数据库和计算集群
- 用于连接的主机、用户名、密码、数据库名称和计算集群名称
如需了解如何获取连接信息,请参见连接到计算集群。
构建 Superset 镜像
官方 Superset 镜像不包含 TiDB Cloud Lake SQLAlchemy 方言。请创建一个名为 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 表创建数据集,并将其用于图表和仪表板。