Apache Superset 简介:开源 BI 解决方案
作者:Jay Clifford / 产品, 用例, 入门指南
2022 年 12 月 28 日
导航至
随着 InfluxDB 即将推出原生 SQL 支持,我们可以拓宽用于分析和可视化时间序列数据的开发者工具的范围。其中一个工具是 Apache Superset。因此,让我们分解 Superset 的基本原理,了解其特性和优势,并快速演示 Superset 的实际应用。
什么是 Apache Superset?
Apache Superset 是一个开源数据探索和可视化平台。最初是 Maxime Beauchemin 在 Airbnb 工作期间发起的一个黑客马拉松项目,Superset 于 2017 年进入 Apache 孵化器计划。Apache Superset 类似于企业商业智能解决方案,如 Power BI 和 Tableau,而不是其他仪表板软件。这是因为它侧重于数据分析和探索,因此如果您正在寻找简单的实时仪表板解决方案,请记住这一点。
Apache Superset 基于数据集中心方法,该方法牢固地位于以查询为中心和以语义为中心的架构之间。
这种架构提倡使用类似于 Pandas Dataframe 但具有进一步丰富的数据集。本质上,我们最终得到的是一个富化的表格结构,其中包含语义特征的子集
- 数据集和列的标签和描述
- 指标作为聚合 SQL 表达式(AVG、MAX、COUNT)
- 时区和时间粒度支持
- 可聚合和筛选的列的定义
以下引自《数据集中心可视化案例》的一段话简洁地总结了数据集方法
“数据集隐喻提供了一个简单而安全的“维度”游乐场。在以数据集为中心的方法中,所有图表都构建自这些数据集,这些数据集包含相关维度和指标的全面集合。这使用户能够在上下文中自助服务。您的团队成员通常可以进行切片和切块,这需要一些超能力,例如应用任意过滤器、深入挖掘维度细节、钻取到原子行以及选择合适的可视化。”
Apache Superset 的特性和优势
现在我们已经了解了什么是 Apache Superset,接下来让我们看看它的一些核心特性和优势。
丰富的可视化库
Apache Superset 目前支持 50 多种可视化类型供您尝试。这些类型涵盖各种数据类型和用例。对于特定的时间序列用例,我建议您务必查看以下可视化类型
- 基础: 时间序列条形图、时间序列折线图、时间序列散点图
- 中级: 直方图、MapBox、带趋势线的大数字、时间序列表
- 高级: 日历热图、雷达图、南丁格尔玫瑰图
请记住,Apache Superset 可视化提供了一个“瑞士军刀”般的选项集合,因此请务必选择最适合您用例的可视化。我们将在另一篇博客中探讨如何以及何时使用某些可视化。
通用的后端支持
Apache Superset 通过 SQLAlchemy(以及任何必需的驱动程序)支持各种数据库。新 InfluxDB IOx 存储引擎中对 Apache Superset 的支持目前正在开发中(具体细节将在以后的博客中讨论)。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 Lab 查询 InfluxDB
我们的数据集基于应急发电机组的物联网模拟器。我们将其保存为 Apache Superset 数据集,以便进一步操作和可视化。
图表创建器提供了一个低代码界面,用于为您的数据集选择和创建可视化。在这种情况下,为了简单起见,我使用了混合时间序列可视化
您可以看到,基于数据集,我们可以通过简单的拖放界面将字段分配为指标,将标签分配为维度或过滤器。从那里,我们可以将新的可视化直接保存到仪表板
仪表板为您提供扩展功能,例如自动刷新、高级过滤和电子邮件报告,但我们将把这些内容留到另一篇博客中。
结论
我希望这篇博客能激发您对 Apache Superset 的兴趣。它是一个强大的商业智能平台,提供与行业巨头(Power BI 和 Tableau)相当的功能。最棒的是什么?它完全基于开源技术。您正在使用 Apache Superset 吗?我们很乐意听到您的声音,所以请加入我们的 Slack 和论坛。分享您的想法——我期待在那里见到您!