在数据分析领域,商业智能(BI)工具扮演着至关重要的角色。目前市场上有许多知名的商业智能软件,如 Tableau、PowerBI、Qlikview 和帆软等,但大多数都是收费软件,或者部分功能需要付费。然而,在这个领域,工具的掌握只是第一步,更重要的是数据分析思维的培养。
我一直使用的 Tableau,但是随着时间的推移,发现它的价格越来越高,一年的费用都要接近一万元。因此,我开始寻找免费的替代方案,并在 GitHub 上发现了一个基于浏览器的开源 BI 应用,名为「Superset」,由 Airbnb 团队开发。虽然在安装和配置 Superset 的过程中遇到了一些困难,但实际使用起来却非常流畅和愉快。
让我们先来看一下 Superset 的面板效果:
它甚至可以与 deck.gl 集成,实现高难度的地图展示:
Superset 的后端基于 Python 开发,因此它也是 Python 生态系统中的一员。它的三大特点是开源、轻量级和图表丰富。相较于一些商业软件,Superset 也许门槛稍高一些,对新手不太友好,但免费的优势是无可比拟的。
官方对 Superset 的介绍如下:
- 通过 NVD3/D3 预定义了多种可视化图表,满足大部分的数据展示功能。
- 提供易于使用的界面,用于浏览和可视化数据。
- 支持创建和共享仪表板。
- 提供一个轻量级的语义层,允许通过定义维度和度量来控制数据源如何向用户公开。
- 具有可扩展的、高粒度的安全模型,允许复杂的规则对谁可以访问哪些产品特征和数据集进行管理。与主要身份验证后端集成(数据库、OpenID、LDAP、OAuth、REMOTE_USER 等)。
- 通过 SQLAlchemy 与大多数基于 SQL 语言的 RDBMS 集成。
- 与 Druid.io 的深度集成。
Superset 的一个亮点是支持 SQL 查询,这对于我来说非常方便,而 Tableau 似乎不支持。使用 SQL Lab 可以方便地查询和可视化数据:
你可以导入 CSV 等文本文件,并连接多种数据库,包括 MySQL、PostgreSQL、SQLite、SQL Server 等。Superset 支持的数据库种类繁多,让用户有更多的选择:
- MySQL
- Oracle
- PostgreSQL
- Presto
- Snowflake
- SQLite
- SQL Server
- Teradata
- Vertica
- Hana
- Amazon Athena
- Amazon Redshift
- Apache Drill
- Apache Druid
- Apache Hive
- Apache Impala
- Apache Kylin
- Apache Pinot
- Apache Spark SQL
- BigQuery
- ClickHouse
- CockroachDB
- Dremio
- Elasticsearch
- Exasol
- Google Sheets
- Greenplum
- IBM Db2
但要连接这些数据库,你需要安装相应的连接包。Superset 提供了多种图表类型供你选择,并且拥有丰富的案例展示,为你的数据分析提供更多可能性。
Superset 的 Python 依赖库较多,建议先安装 Anaconda,以避免不必要的麻烦。
具体的安装和使用步骤如下:
<code># 安装 Superset pip install apache-superset # 初始化数据库 superset db upgrade # 创建管理员用户 export FLASK_APP=superset superset fab create-admin # 加载示例数据 superset load_examples # 创建默认角色和权限 superset init # 启动开发服务器 superset run -p 8088 --with-threads --reload --debugger</code>
在实际使用过程中,可能会遇到各种各样的问题,建议多查阅相关文档或向网络社区求助。
项目地址: https://github.com/apache/incubator-superset
暂无评论内容