前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >闲聊数据可视化平台 Apache Superset

闲聊数据可视化平台 Apache Superset

作者头像
哒呵呵
发布2020-02-11 13:20:14
2.8K0
发布2020-02-11 13:20:14
举报
文章被收录于专栏:鸿的学习笔记鸿的学习笔记
开始之前

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的竞品

在数据可视化方向有很多与 superset 类似的竞品,比如国外知名的开源的有 Redash 、 Metabase,商业版的有Tableau,还有一份 awesome-business-intelligence 收集了市面上大部分商业智能的平台(https://github.com/thenaturalist/awesome-business-intelligence)。

每个竞品都有着自己的鲜明的特点,比如 Redash 把 SQL 开发运用到了极致,Metabase 对 UI 和可交互性的疯狂追求,更何况还有各种商业版的软件。并且可视化平台相对数据平台的其它组件更容易开发,很多数据团队为了 KPI 或者是一些非常特殊的需求投入精力自行研发,导致了现在开源、商业版本和自研版本三足鼎立的状态。

对于可视化的需求

在选择可视化平台之前,便要分析清楚团队的需求。多问自己几个业务相关的问题,比如为什么要使用可视化平台,有哪些人使用,使用频率如何,有哪些痛点要解决,再考虑技术上的方案。下面是当时我们团队在选型时的考量点,供大家参考:

  • 数据权限要细化到表级别,可以进行数据审计。
  • 可自定义 SQL 下载数据和共享 SQL 脚本。
  • 图表类型相对丰富,开发起来方便。
  • 接入的数据源最好支持 JDBC 协议或者是 DB API 协议。

其实满足这些需求的可视化平台很多,当时为什么还是选择了 superset 呢?首先是 Apache 项目的金字招牌,其次是它在 Github 上的 star 数量不低,最后就是它使用 Python 开发,后续维护和二次开发也方便。

Superset的坑

依然先不说优点,吐槽一下。

Superset 很像是一个“程序员”主导设计出来的 BI 工具,导致了很多功能点单纯就是追求功能实现,可用性差了一点。

当然,Superset 最大的坑就是没有文件夹或者是分组的概念,这导致了图表与报表变多了以后,管理不方便。虽然 Superset 支持搜索或是收藏功能,但查找起来还是太麻烦了。

使用 superset 的一些经验

目前我们团队在 superset 上面已经构建了 30 多个看板,图表有几百张。刚开始时遇到了许多小问题,比如透视表处理null值时会报错,有些提了PR,有些则是内部解决了,总的来说还是比较顺利的。

说下使用经验吧。superset 的核心概念不多。

  • 数据源:只要 Python 的 sqlalchemy 支持的数据源,superset 都可以用,这意味着你所能想到的大部分数据源都能接入。在数据源配置项里还有很多细化的权限,比如是否可以执行增删改和建表的权限。
  • 有了数据源,就可以定义建一张图表(Chart)所需要的数据库表。superset 在这里定义了字段和指标(Metric)的概念。指标是对字段的某种统计结果,比如字段上值的求和、平均值、最大值、最小值等。
  • 定义好表的字段和指标后,数据分析人员就可以通过选择指标(Metric),分组条件(Group)和过滤条件(Filter)来新建和处理图表了。
  • 定义好一系列图表后,就可以使用这些图表生成一张美观的看板(Dashboard)。备注:superset 的 v1.0 的看板实在是有些丑,v2.0 的看板的美观度才稍微有点样子。

一张做好的样例图长这样:

最后

使用 superset 构建图表需要有一定的 SQL 使用经验和预先了解数据库表结构,对于非技术人员(例如产品、运营)基本上只能使用预先建好的看板(Dashboard),易用性不是很好;权限体系过于细分,需要管理者花很多时间去划分使用者和使用团队的权限;图表和看板又没有引入文件夹或者分组的理念,所以传统企业使用 superset 需要谨慎考虑。

另一方面,对于以技术人才为主的互联网团队和公司,superset 值得认真考虑,它可以帮助团队快速地构建 BI 体系,满足大部分 BI 的需求,也很容易二次开发。

总的来说,Superset 是一个非常优秀的 BI 工具,在可视化方向做的非常出色,不仅仅是在开源领域独领风骚,而且比很多商业版的 BI 工具都要好。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-12-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 鸿的笔记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 开始之前
  • superset的竞品
  • 对于可视化的需求
  • Superset的坑
  • 使用 superset 的一些经验
  • 最后
相关产品与服务
腾讯云 BI
腾讯云 BI(Business Intelligence,BI)提供从数据源接入、数据建模到数据可视化分析全流程的BI能力,帮助经营者快速获取决策数据依据。系统采用敏捷自助式设计,使用者仅需通过简单拖拽即可完成原本复杂的报表开发过程,并支持报表的分享、推送等企业协作场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档