[TOC]
superset概要
Apache Superset (incubating) is a modern, enterprise-ready business intelligence web application
1. 安装Python3环境
请移步官网
2. 安装系统环境
1 | yum upgrade python-setuptools; |
3. 安装Python独立运行的虚拟环境
1 | 安装虚拟环境 |
4. 安装superse
1 | 安装superset |
5.安装中遇到的坑
5.1 python3 虚拟环境sqlite3找不到
1 | 安装sqlite-devel: |
5.2 在初始化数据库的时候报错
这是 SQLAlchemy 库版本太高导致的,需要安装低版本的 SQLAlchemy 库。
1 |
|
5.3 安装mysqlclient包报错
error:
1 | Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-install-fwot3_uw/mysqlclient/ |
1 | yum install python-devel |
6.Superset故障启动
1 |
|
7. superset后期改造
7.1sql语句中 as
中文 支持:
Superset/static/assets/javascripts/SqlLab/components/VisualizeModal.jsx 第85行修改为如下代码
1 | const re = /^[\u4e00-\u9fa5_a-zA-z0-9]+$/; |
需要安装必要的前端工具打包编译,当然你也可以使用find 命令找到引用这段代码的位置直接修改打包后的文件比如superset/static/assets/dist/sqllab.724779533427ddssdd84342.entry.js
7.2Table名支持中文
- superset/models/helpers.py
1 | 更改text_factory = str |
- superset/views/base.py
1 | wzx = item.get_perm().decode('utf8') |
7.3 如何支持同期,上期,本期等数据的对比,如同比,环比示例
- 上期,本期等数据的对比
- 同比,环比计算
8. 如何很好的使用superset
在SQL Lab 中数据使用数据库, 在下方输入sql ,点击runquery 没有问题的话,点击visualize ,生成视图和表, 进入slice生成界面。
在slice制作中选择相应的视图, 并在左变的维度和条件设置中,设置他们,可实时看到设计效果, 待完成后保存为slice, 如果需要保存为dashboard.
如果需要添加控件, 则在相同的制作slice方式中,或者选择相同的slice的源表,生成视图控件( FilterBox),生成控件后,保存到相应的dashboard中,即可控制相应的报表。
报表的命名规则:
- 大部门 + ‘_’ +分类(业务) + ’_’ + ‘功能’
- 报表视图介绍: 展示用table view, 汇总用Pivot Table, 其他有二维饼图,直方图, 二维饼图。时间序列图 等等。
- 做好权限控制,不同的部门看到的数据库不同,来控制权限。
- 报表缓存处理