Superset:大数据可视化开源工具

Superset 是一款由 Airbnb 开源的“现代化的企业级 BI(商业智能) Web 应用程序”,其通过创建和分享 dashboard,为数据分析提供了轻量级的数据查询和可视化方案。
Superset 的前端主要用到了 React 和 NVD3/D3,而后端则基于 Python 的 Flask 框架和 Pandas、SQLAlchemy 等依赖库,主要提供了这几方面的功能:

  1. 集成数据查询功能,支持多种数据库,包括 MySQL、PostgresSQL、Oracle、SQL Server、SQLite、SparkSQL 等,并深度支持 Druid。
  2. 通过 NVD3/D3 预定义了多种可视化图表,满足大部分的数据展示功能。如果还有其他需求,也可以自开发更多的图表类型,或者嵌入其他的 JavaScript 图表库(如 HighCharts、ECharts)。
  3. 提供细粒度安全模型,可以在功能层面和数据层面进行访问控制。支持多种鉴权方式(如数据库、OpenID、LDAP、OAuth、REMOTE_USER 等)。

下面操作均在ubuntu18下完成。

1. 拉取项目

// 创建目录用于存放项目
mkdir -p /root/superset
cd /root/superset
git clone https://github.com/amancevice/superset.git

2. 配置数据库

进入项目目录

cd /root/superset/superset

新建superset_config.py文件, 修改相应的配置信息

ROW_LIMIT = 5000

SUPERSET_WEBSERVER_PORT = 8088

SECRET_KEY = 'set_your_own_key'

SQLALCHEMY_DATABASE_URI = 'mysql://user:[email protected]:port/db'


# Flask-WTF flag for CSRF
WTF_CSRF_ENABLED = True
# Add endpoints that need to be exempt from CSRF protection
WTF_CSRF_EXEMPT_LIST = []
# A CSRF token that expires in 1 year
WTF_CSRF_TIME_LIMIT = 60 * 60 * 24 * 365

# Set this API key to enable Mapbox visualizations
MAPBOX_API_KEY = ''

3. 启动容器

docker run -d --name superset_name --env SECRET_KEY="set_your_own_key" --env SQLALCHEMY_DATABASE_URI="mysql://user:[email protected]:port/db" -p 8088:8088 -v /root/superset/superset/superset_config.py amancevice/superset

注意:

4. 初始化容器

//进入superset-init文件目录
cd /mnt/superset/superset/superset
//初始化
docker exec -it superset_name superset-init
//输入你设置登录superset前端的admin相关信息
Username [admin]: admin
User first name [admin]: bing
User last name [user]: bing
password: mypassword
repeat passwd: mypassword
//输入完毕开始初始化,等待完成即可

5. 前端访问

http://ip:8088/

参考

阅读量: | 柯西君_BingWong | 2020-06-06