Apache Superset 介绍:一个开源 BI 解决方案

导航到

随着原生动SQL支持即将加入InfluxDB,我们可以扩大用于分析和可视化的开发者工具范围,这些工具包括我们的时间序列数据。其中之一就是Apache Superset。因此,让我们先了解Superset的基本知识,看看它的功能和优势,然后进行一个Superset的实际操作演示。

Superset Community Metrics

什么是Apache Superset?

Apache Superset是一个开源的数据探索和可视化平台。最初,它是Maxime Beauchemin在Airbnb工作时参与黑客马拉松项目的一个项目。2017年,Superset加入了Apache孵化器项目。与Power BI和Tableau等企业级商业智能解决方案相比,Apache Superset更类似于其他仪表盘软件。这是因为它强调数据分析和解探索,如果您正在寻找一个简单的实时仪表盘解决方案,请记住这一点。

Apache Superset基于以数据集为中心的方法论,这种方法位于以查询为中心和语义为中心架构的中间。

The Case for Dataset-Centric Visualization

这种架构推崇使用类似于Pandas Dataframe的数据集,但增加了进一步的丰富。本质上,我们最终得到的是一个包含部分语义特性的丰富表格结构。

  • 数据集和列的标签和描述
  • 作为聚合SQL表达式(AVG、MAX、COUNT)的度量
  • 时区和时间粒度支持
  • 定义哪些列可以聚合和筛选

以下引用自《数据集中心可视化案例》,很好地总结了数据集方法

“数据集隐喻提供了一个简单而安全的‘维度’游乐场。在数据集中心方法中,所有图表都是基于这些包含相关维度和度量值的完整集合的数据集构建的。这使用户能够在该环境中自助服务。您的团队成员通常可以进行切片和切块,这包括像应用任意过滤器、钻取维度细节、钻取到原子行以及选择正确的可视化这样的超级能力。”

Apache Superset的功能和优势

现在我们已经了解了Apache Superset是什么,让我们来看看一些其核心功能和优势。

丰富的可视化库

Apache Superset目前支持50多种可视化类型进行实验。这些涵盖了各种数据类型和用例。对于特定的时间序列用例,我建议您查看以下可视化类型

  • 基础:时间序列柱状图、时间序列折线图、时间序列散点图
  • 中级:直方图、MapBox、带趋势线的数字、时间序列表
  • 高级:日历热图、雷达图、夜莺玫瑰图

请记住,Apache Superset的可视化提供了“瑞士军刀”般的选项,因此请确保选择最适合您的用例的可视化。我们将在另一篇博客中探讨如何以及何时使用某些可视化。

灵活的后端支持

Apache Superset 通过 SQLAlchemy 支持大量数据库(以及所需的任何驱动程序)。目前,Apache Superset 对新 InfluxDB IOx 存储引擎的支持正在开发中(具体细节将在未来的博客中讨论)。Apache Superset 还提供了对 JSON、CSV、Excel 和列式文件等格式的直接文件摄取。

自定义和部署

Apache Superset 的云原生设计使其可扩展。它促进了分布式架构的高可用性和部署支持。Superset 还推广了一种灵活的模块化架构,让您可以选择适合您部署的正确组件。

  • web服务器(Gunicorn、Nginx、Apache)
  • 元数据数据库引擎(MySQL、Postgres、MariaDB 等)
  • 消息队列(Redis、RabbitMQ、SQS 等)
  • 结果后端(S3、Redis、Memcached 等),
  • 缓存层(Memcached、Redis 等),

Apache Superset 还允许用户通过其可视化插件功能创建自己的自定义可视化。这些插件可以用 JavaScript 或 TypeScript 创建。

Apache Superset 教程

随着新 InfluxDB IOx 存储引擎即将推出,您很快就可以将 Apache Superset 作为解决方案的一部分进行部署。在此期间,这里有一些关于 InfluxDB 和 Apache Superset 可行的示例。

首先,我们使用集成的 SQL 实验室查询 InfluxDB

we use the integrated SQL Lab to query against InfluxDB

我们的数据集基于应急电源发电机的物联网模拟器。我们将此保存为 Apache Superset 数据集,以便进一步处理和可视化。

图形创建器提供了一个低代码界面,用于选择和创建您数据集的可视化。在这种情况下,为了保持简单,我使用了混合时间序列可视化。

Generator one - fuel and load

您可以看到,根据数据集,我们可以通过简单的拖放界面将字段分配为度量、将标签分配为维度或过滤器。然后我们可以直接将我们的新可视化保存到仪表板中。

Load Precentage

仪表板提供了扩展功能,例如自动刷新、高级过滤和电子邮件报告,但我们将这些内容留到另一篇博客中。

结论

我希望这篇博客能激发您对 Apache Superset 的兴趣。它是一个功能强大的商业智能平台,提供了与行业巨头(Power BI 和 Tableau)等效的功能。最好的部分?它全部基于开源技术。您是否在使用 Apache Superset?我们很乐意听到您的声音,所以请加入我们 Slack论坛。分享您的想法——我期待在那里见到您!