Apache Superset(以下简称 superset)和 Apache Airflow 一样都是租房网站 airbnb 开源的,而且现在的主力开发者也是同一个人- mistercrunch (画外音:两个 Apache 项目的主要贡献者也是够强的了)。Apache Superset 于 2015 年 6 月开源,活跃度极高,基本每天都有新的特性诞生或者 bug 被修复,可惜的是与 Apache Airflow 今年毕业成为顶级项目不同,superset 依旧在孵化当中。当然孵化不代表不可用,superset 在国内外都有着广泛的应用。从 Github 首页上面可以发现使用 superset 的国内比较知名的互联网公司有:bilibili、Douban、Kuaishou、Qunar 等等,国外的更多了。因此 superset 质量是有保证的。
在数据可视化方向有很多与 superset 类似的竞品,比如国外知名的开源的有 Redash 、 Metabase,商业版的有Tableau,还有一份 awesome-business-intelligence 收集了市面上大部分商业智能的平台(https://github.com/thenaturalist/awesome-business-intelligence)。
每个竞品都有着自己的鲜明的特点,比如 Redash 把 SQL 开发运用到了极致,Metabase 对 UI 和可交互性的疯狂追求,更何况还有各种商业版的软件。并且可视化平台相对数据平台的其它组件更容易开发,很多数据团队为了 KPI 或者是一些非常特殊的需求投入精力自行研发,导致了现在开源、商业版本和自研版本三足鼎立的状态。
在选择可视化平台之前,便要分析清楚团队的需求。多问自己几个业务相关的问题,比如为什么要使用可视化平台,有哪些人使用,使用频率如何,有哪些痛点要解决,再考虑技术上的方案。下面是当时我们团队在选型时的考量点,供大家参考:
其实满足这些需求的可视化平台很多,当时为什么还是选择了 superset 呢?首先是 Apache 项目的金字招牌,其次是它在 Github 上的 star 数量不低,最后就是它使用 Python 开发,后续维护和二次开发也方便。
依然先不说优点,吐槽一下。
Superset 很像是一个“程序员”主导设计出来的 BI 工具,导致了很多功能点单纯就是追求功能实现,可用性差了一点。
当然,Superset 最大的坑就是没有文件夹或者是分组的概念,这导致了图表与报表变多了以后,管理不方便。虽然 Superset 支持搜索或是收藏功能,但查找起来还是太麻烦了。
目前我们团队在 superset 上面已经构建了 30 多个看板,图表有几百张。刚开始时遇到了许多小问题,比如透视表处理null值时会报错,有些提了PR,有些则是内部解决了,总的来说还是比较顺利的。
说下使用经验吧。superset 的核心概念不多。
一张做好的样例图长这样:
使用 superset 构建图表需要有一定的 SQL 使用经验和预先了解数据库表结构,对于非技术人员(例如产品、运营)基本上只能使用预先建好的看板(Dashboard),易用性不是很好;权限体系过于细分,需要管理者花很多时间去划分使用者和使用团队的权限;图表和看板又没有引入文件夹或者分组的理念,所以传统企业使用 superset 需要谨慎考虑。
另一方面,对于以技术人才为主的互联网团队和公司,superset 值得认真考虑,它可以帮助团队快速地构建 BI 体系,满足大部分 BI 的需求,也很容易二次开发。
总的来说,Superset 是一个非常优秀的 BI 工具,在可视化方向做的非常出色,不仅仅是在开源领域独领风骚,而且比很多商业版的 BI 工具都要好。