使用 Superset 查询和可视化数据
使用 Apache Superset 查询和可视化存储在 InfluxDB 数据库中的数据。
Apache Superset 是一个现代的、企业就绪的商业智能 Web 应用程序。它快速、轻量级、直观,并加载了各种选项,使用户能够轻松地探索和可视化他们的数据,从简单的饼图到高度详细的 deck.gl 地理空间图表。
- 为 Superset 和 Flight SQL 设置 Docker
- 启动 Superset Docker 容器
- 登录到 Superset
- 为 InfluxDB 创建数据库连接
- 使用 Superset 查询 InfluxDB
- 使用 Superset 构建可视化
为 Superset 和 Flight SQL 设置 Docker
安装 Superset 和 Flight SQL 的先决条件
我们建议使用 Docker 和 docker-compose 运行 Superset。要设置 Superset 以在带有 Flight SQL 的 Docker 容器中运行,请按照以下步骤操作
Superset 在 Windows 上未获得官方支持。有关在 Windows 和 Docker 中运行 Superset 的更多信息,请参阅 Superset 文档。
按照说明下载并安装适用于您系统的 Docker 和 docker-compose
- macOS: 安装 macOS 版 Docker
- Linux: 安装 Linux 版 Docker
按照 Python.org 下载 Python 说明 для вашей системы.
安装 Python 后,检查您是否可以运行 Python 和 Pip。根据您的系统,您可能需要使用 Python 版本 3 (
python3
和pip3
) 命令。在终端中输入以下命令如果
pip
和pip3
都不起作用,请按照适用于您系统的 Pypa.io Pip 安装 方法之一进行操作。使用 Pip 安装
flightsql-dbapi
库。适用于 Python 的
flightsql-dbapi
库为 Flight SQL 提供了 DB API 2 接口和 SQLAlchemy 方言。稍后,您将把flightsql-dbapi
添加到 Superset 的 Docker 配置中。flightsql-dbapi
库是实验性的,并且正在积极开发中。它提供的 API 随时可能更改。使用 Git 克隆 Apache Superset 存储库
git clone https://github.com/apache/superset.git
该存储库包含 Superset 代码和用于在 Docker 容器中运行 Superset 的配置文件。
为 Superset 设置 Docker
更改到您的 superset 存储库目录
cd ./superset
在您的文本编辑器或终端中,创建文件
./docker/requirements-local.txt
并附加行flightsql-dbapi
–例如cat <<EOF >./docker/requirements-local.txt flightsql-dbapi EOF
./docker/requirements-local.txt
文件用于指定 Docker 应该为 Superset 包含的其他 Python 包。有关 Superset 的 Docker 配置的更多信息,请参阅 使用 Docker 开始使用 Superset。使用
docker-compose pull
命令获取 Docker 容器的依赖项。docker-compose -f docker-compose-non-dev.yml pull
该过程可能需要几秒钟才能完成。完成后,您就可以 启动 Superset Docker 容器 了。
启动 Superset Docker 容器
要启动容器并运行 Superset,请输入 docker-compose up
命令并传递带有设置文件名称的 -f
标志
docker-compose -f docker-compose-non-dev.yml up
这可能需要几秒钟才能完成。
如果成功,终端将包含类似于以下的输出
superset_init | Init Step 4/4 [Complete] -- Loading examples
superset_init |
superset_init |
superset_init | ######################################################################
superset_init |
superset_init exited with code 0
superset_app | 127.0.0.1 - - [24/Mar/2023:15:14:11 +0000] "GET /health HTTP/1.1" 200 2 "-" "curl/7.74.0"
在 Superset 运行的情况下,您就可以 登录 并设置数据库连接了。
登录到 Superset
在浏览器中,访问 localhost:8088 以登录到 Superset 用户界面 (UI)。如果您配置 Superset 以使用自定义域名,请导航到您的自定义域名。
如果这是您第一次登录 Superset,请使用以下用户名和密码
- 用户名: admin
- 密码: admin
可选:创建一个具有唯一密码的新管理员用户。
- 在 Superset UI 中,单击右上角的 Settings(设置),然后选择 List Users(列出用户)。
- 单击右上角的 。
- 选择 Admin(管理员) 角色,并为新用户提供剩余凭据。
- 单击 Save(保存)。
- 删除默认的 admin 用户。
为 InfluxDB 创建数据库连接
在 Superset UI 中,单击右上角的 Settings(设置),然后选择 Database Connections(数据库连接)。
单击右上角的 + Database(+ 数据库)。
在 Connect a Database(连接数据库) 窗口中,单击 Supported Databases(支持的数据库) 下拉菜单,然后选择 Other(其他)。
输入数据库连接的 Display Name(显示名称)(例如,InfluxDB Clustered)。
输入您的 SQL Alchemy URI,它由以下各项组成
- 协议:
datafusion+flightsql
- 域名: InfluxDB 集群 URL
- 端口: 443
查询参数
# Syntax datafusion+flightsql://<domain>:<port>?database=<database-name>&token=<token> # Example datafusion+flightsql://cluster-host.com:443?database=example-database&token=example-token
- 协议:
单击 Test Connection(测试连接) 以确保连接有效。
单击 Connect(连接) 以保存数据库连接。
使用 Superset 查询 InfluxDB
建立与 InfluxDB Clustered 的连接后,您可以开始查询和可视化来自 InfluxDB 的数据。
在 Superset UI 中,单击顶部导航栏中的 SQL ▾,然后选择 SQL Lab。
在左侧窗格中
- 在 Database(数据库) 下,选择您的 InfluxDB 连接。
- 在 Schema(模式) 下,选择 iox。
- 在 See table schema(查看表模式) 下,选择要查询的 InfluxDB measurement。
measurement 模式将显示在左侧窗格中
使用 query editor(查询编辑器) 编写 SQL 查询,以查询您的 InfluxDB 数据库中的数据。
单击 Run(运行) 以执行查询。
查询结果将显示在查询编辑器下方。
使用 Superset 构建可视化
使用 Superset 为 InfluxDB 查询创建可视化和仪表板。有关使用 Superset 创建可视化的全面演练,请参阅 在 Superset 文档中创建图表和仪表板。

此页是否对您有帮助?
感谢您的反馈!
支持和反馈
感谢您成为我们社区的一份子!我们欢迎并鼓励您提供关于 InfluxDB Clustered 和本文档的反馈和错误报告。要获得支持,请使用以下资源
拥有年度合同或支持合同的客户 可以 联系 InfluxData 支持。