BI工具是数据分析的得力武器,目前市场上有很多BI软件,众所周知的有Tableau、PowerBI、Qlikview、帆软等,其中大部分是收费软件或者部分功能收费。这些工具一通百通,用好一个就够了,重要的是分析思维。
我一直用的Tableau,不过实在太贵,一年小一万。之前在github接触到一个基于浏览器的开源BI应用,名叫Superset,是Airbnb团队开发的。于是想试下,在安装配置阶段用了一些时间,有点心累,不过实际用起来却是非常nice。
先看下面板效果:
它还可以和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等文本文件,并连接数据库。
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安装的python依赖库比较多,建议先安装Anaconda,避免不必要的麻烦。
具体安装使用步骤见下:
# Install superset
pip install apache-superset
# Initialize the database
superset db upgrade
# Create an admin user (you will be prompted to set a username, first and last name before setting a password)
$ export FLASK_APP=superset
superset fab create-admin
# Load some data to play with
superset load_examples
# Create default roles and permissions
superset init
# To start a development web server on port 8088, use -p to bind to another port
superset run -p 8088 --with-threads --reload --debugger
在实际安装使用过程可能会遇到各种各样的麻烦,所以多问问Google吧,或者stackoverflow。
后面我们会用专题来介绍superset的安装、配置、使用、可视化展示。如果你也感兴趣,那就点个再看吧!