简介
- 企业级BI工具
- Superset 是一个数据探索和可视化平台,设计用来提供直观的,可视化的,交互式的分析体验
最初由Airbnb开源,后面进入Apache 软件基金会孵化项目
特性:
- 开源, Apache 孵化项目,迭代进度正常,star数量 2w+
- 可视化方面非常出色,静态的日报、报表,Superset表现力很好
- 图表类型丰富,有时间序列、GEO地理位置、词汇云、等近50种图表类型
- 支持数据源丰富,包括Apache Kylin、Clickhouse、Hive
- 支持数据切片、SQL-Lab
- 数据能力取决于数据源
项目地址:
看板
- 由若干图表组成
- 支持图表大小调整,拖拽
- 支持加 行、列、Tab组件、Markdown组件、分割线
- 支持自动刷新、强制刷新;支持设定刷新间隔
- 支持分享、权限控制
支持图表
支持近50种类型的图表
- 常规图:柱状体、饼图、折线图、堆积图、趋势图、热力图、箱线图及透视表等等
- 时间序列:柱状、多折线、周期性Pivot、表、堆积图、事件流、配对t检验,玫瑰图
- Geo地图类型:基于deck.gl的散点图、屏幕网格图、柱状、六角形,国家/世界地图
- 力导向图(force Network)
- 桑基图(Sankey diagrams)
- 弦图(chord Diagram)
- 南丁格尔玫瑰图(nightingale rose chart)
支持的数据源
不同的数据源,需要安装相应的python package,见后面的附录表
安装
Superset安装(docker-compose版本)
https://github.com/amancevice/superset
整个Docker包括3部分:1. 元数据 2. Redis缓存 3.Mysql 4. Superset本身
支持SQLLite/PG/MySQL方式的元数据存储
如果想采用MySQL存储Superset的元数据,请务必修改所MySQL表结构里的charcter,默认是latin1(需要先把元数据dump出来,通过命令sed修改一下,再灌入)
1 | mkdir -p /data/superset/ |
配置
1 | version: '3' |
superset配置文件: superset_config.py
1 | import os |
对于其中的MAPBOX_API_KEY
,是为了支持地图GEO类型图表,需要在mapbox 中注册,获得一个api_token,注册地址:https://www.mapbox.com/account/
启动
1 | docker-compose up -d |
其他的可视化工具
Grafana
- 用于Graphite,InfluxDB和Prometheus等的精美监控和度量分析和仪表板的工具
- 时间序列、数据量大、偏监控
Metabase
- 美观、完成度与更新速度、团队支撑,比较注重非技术人员使用体验
- 不支持Clickhouse(在16年就提出,到现在还不支持)
- ClickHouse+ProxySQL = Using ClickHouse like MySQL
参考
附录表:Database dependencies
database | pypi package | SQLAlchemy URI prefix |
---|---|---|
MySQL | pip install | mysqlclient |
Postgres | pip install psycopg2 | postgresql+psycopg2:// |
Presto | pip install pyhive | presto:// |
Hive | pip install pyhive | hive:// |
Oracle | pip install cx_Oracle | oracle:// |
sqlite | sqlite:// | |
Snowflake | pip install snowflake-sqlalchemy | snowflake:// |
Redshift | pip install sqlalchemy-redshift | redshift+psycopg2:// |
MSSQL | pip install pymssql | mssql:// |
Impala | pip install impyla | impala:// |
SparkSQL | pip install pyhive | jdbc+hive:// |
Greenplum | pip install psycopg2 | postgresql+psycopg2:// |
Athena | pip install “PyAthenaJDBC>1.0.9” | awsathena+jdbc:// |
Athena | pip install “PyAthena>1.2.0” | awsathena+rest:// |
Vertica | pip install sqlalchemy-vertica-python | vertica+vertica_python:// |
ClickHouse | pip install sqlalchemy-clickhouse | clickhouse:// |
Kylin | pip install kylinpy | kylin:// |
BigQuery | pip install pybigquery | bigquery:// |
Teradata | pip install sqlalchemy-teradata | teradata:// |
clickhouse+<driver>://<user>:<password>@<host>:<port>/<database>[?key=value..]
参考
https://github.com/apache/incubator-superset
https://github.com/xzkostyan/clickhouse-sqlalchemy
https://superset.incubator.apache.org/visualization.html