文档文档

使用 Superset 查询和可视化数据

使用 Apache Superset 查询和可视化存储在 InfluxDB 数据库中的数据。

Apache Superset 是一个现代的、企业就绪的商业智能 Web 应用程序。它快速、轻量级、直观,并加载了各种选项,使用户能够轻松地探索和可视化他们的数据,从简单的饼图到高度详细的 deck.gl 地理空间图表。

Apache Superset 文档

为 Superset 和 Flight SQL 设置 Docker

安装 Superset 和 Flight SQL 的先决条件

我们建议使用 Docker 和 docker-compose 运行 Superset。要设置 Superset 以在带有 Flight SQL 的 Docker 容器中运行,请按照以下步骤操作

Superset 在 Windows 上未获得官方支持。有关在 Windows 和 Docker 中运行 Superset 的更多信息,请参阅 Superset 文档

  1. 按照说明下载并安装适用于您系统的 Docker 和 docker-compose

  2. 按照 Python.org 下载 Python 说明 для вашей системы.

  3. 安装 Python 后,检查您是否可以运行 Python 和 Pip。根据您的系统,您可能需要使用 Python 版本 3 (python3pip3) 命令。在终端中输入以下命令

    python --version
    
    pip --version
    
    python3 --version
    
    pip3 --version
    

    如果 pippip3 都不起作用,请按照适用于您系统的 Pypa.io Pip 安装 方法之一进行操作。

  4. 使用 Pip 安装 flightsql-dbapi 库。

    pip install flightsql-dbapi
    
    pip3 install flightsql-dbapi
    

    适用于 Python 的 flightsql-dbapi 库为 Flight SQL 提供了 DB API 2 接口和 SQLAlchemy 方言。稍后,您将把 flightsql-dbapi 添加到 Superset 的 Docker 配置中。

    flightsql-dbapi 库是实验性的,并且正在积极开发中。它提供的 API 随时可能更改。

  5. 使用 Git 克隆 Apache Superset 存储库

    git clone https://github.com/apache/superset.git
    

    该存储库包含 Superset 代码和用于在 Docker 容器中运行 Superset 的配置文件。

为 Superset 设置 Docker

  1. 更改到您的 superset 存储库目录

    cd ./superset
    
  2. 在您的文本编辑器或终端中,创建文件 ./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

  3. 使用 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

  1. 在浏览器中,访问 localhost:8088 以登录到 Superset 用户界面 (UI)。如果您配置 Superset 以使用自定义域名,请导航到您的自定义域名。

  2. 如果这是您第一次登录 Superset,请使用以下用户名和密码

    • 用户名: admin
    • 密码: admin
  3. 可选:创建一个具有唯一密码的新管理员用户。

    1. 在 Superset UI 中,单击右上角的 Settings(设置),然后选择 List Users(列出用户)
    2. 单击右上角的
    3. 选择 Admin(管理员) 角色,并为新用户提供剩余凭据。
    4. 单击 Save(保存)
    5. 删除默认的 admin 用户。

为 InfluxDB 创建数据库连接

  1. 在 Superset UI 中,单击右上角的 Settings(设置),然后选择 Database Connections(数据库连接)

  2. 单击右上角的 + Database(+ 数据库)

  3. Connect a Database(连接数据库) 窗口中,单击 Supported Databases(支持的数据库) 下拉菜单,然后选择 Other(其他)

    Configure InfluxDB connection in Superset
  4. 输入数据库连接的 Display Name(显示名称)(例如,InfluxDB Clustered)。

  5. 输入您的 SQL Alchemy URI,它由以下各项组成

    • 协议: datafusion+flightsql
    • 域名: InfluxDB 集群 URL
    • 端口: 443

    查询参数

    • ?database: URL 编码的 InfluxDB 数据库名称
    • ?token: 具有对指定数据库的 READ 访问权限的 InfluxDB API 令牌
    # Syntax
    datafusion+flightsql://<domain>:<port>?database=<database-name>&token=<token>
    
    # Example
    datafusion+flightsql://cluster-host.com:443?database=example-database&token=example-token
    
  6. 单击 Test Connection(测试连接) 以确保连接有效。

  7. 单击 Connect(连接) 以保存数据库连接。

使用 Superset 查询 InfluxDB

建立与 InfluxDB Clustered 的连接后,您可以开始查询和可视化来自 InfluxDB 的数据。

  1. 在 Superset UI 中,单击顶部导航栏中的 SQL ▾,然后选择 SQL Lab

  2. 在左侧窗格中

    1. Database(数据库) 下,选择您的 InfluxDB 连接。
    2. Schema(模式) 下,选择 iox
    3. See table schema(查看表模式) 下,选择要查询的 InfluxDB measurement。

    measurement 模式将显示在左侧窗格中

    Select your InfluxDB schema in Superset
  3. 使用 query editor(查询编辑器) 编写 SQL 查询,以查询您的 InfluxDB 数据库中的数据。

  4. 单击 Run(运行) 以执行查询。

查询结果将显示在查询编辑器下方。

使用 Superset 构建可视化

使用 Superset 为 InfluxDB 查询创建可视化和仪表板。有关使用 Superset 创建可视化的全面演练,请参阅 在 Superset 文档中创建图表和仪表板

Build InfluxDB dashboards in Apache Superset

此页是否对您有帮助?

感谢您的反馈!


Flux 的未来

Flux 即将进入维护模式。您可以继续像现在这样使用它,而无需对您的代码进行任何更改。

阅读更多

InfluxDB 3 开源版本现已发布公开 Alpha 版

InfluxDB 3 开源版本现已可用于 Alpha 测试,根据 MIT 或 Apache 2 许可获得许可。

我们正在发布两个作为 Alpha 版本一部分的产品。

InfluxDB 3 Core 是我们的新开源产品。它是一个用于时间序列和事件数据的最新数据引擎。InfluxDB 3 Enterprise 是一个商业版本,它建立在 Core 的基础上,增加了历史查询功能、读取副本、高可用性、可扩展性和细粒度的安全性。

有关如何开始使用的更多信息,请查看