安装 vim编辑 unzip解压 方便后续对文件的操作
apt-get update
apt-get install vim
apt-get install zip
接上一篇博客 docker安装完superset之后:
前端: 安装node.js,创建前端编译环境
① 在您的计算机配置中添加存储库:
curl -sL https://deb.nodesource.com/setup_10.x | bash -
② 安装node.js
apt-get install -y nodejs
③ 测试是否安装成功
node -v
npm -v
正式的二次开发添加echarts:
①注意先别着急,现在本地下载一份源码,由于我装的是0.28的版本,因此下载一份源码 ,下载完源码由于链接不生效,需要将incubator-superset-0.28\superset\assets 的assets文件夹整个复制一份到incubator-superset-0.28\superset\static\下,替换之前打不开的assets文件夹
https://github.com/apache/incubator-superset
② docker下载之后发现再src的包不完整,因此需要将刚本地下载的源码的src打包上传到docker中去。
rz ./src.zip
注:当rz出现乱码时,使用rz -be (机器编码不一致造成的,windows文件默认是gbk编码 ,linux文件默认是 utf-8编码)
docker cp ./src.zip 3ebdf90132cb:/usr/local/lib/python3.6/site-packages/superset/static/assets/
③集成echarts图表需要7个地方需要修改,我是采用的再外面统一修改之后上传进去
注意:再此处建议用 root权限登录docker
docker exec -it -u root 3ebdf90132cb bash
1.docker cp ./viz.py 3ebdf90132cb:/usr/local/lib/python3.6/site-packages/superset/
2.docker cp ./index.js 3ebdf90132cb:/usr/local/lib/python3.6/site-packages/superset/static/assets/src/visualizations/
3.docker cp ./echarts_bar_polar.js 3ebdf90132cb:/usr/local/lib/python3.6/site-packages/superset/static/assets/src/visualizations/
4.docker cp ./visTypes.jsx 3ebdf90132cb:/usr/local/lib/python3.6/site-packages/superset/static/assets/src/explore/
5.docker cp ./echarts_bar_polar.png 3ebdf90132cb:/usr/local/lib/python3.6/site-packages/superset/static/assets/images/viz_thumbnails/
6.vi /usr/local/lib/python3.6/site-packages/superset/static/assets/src/modules/colors.js
7.superset/static/assets/package.json 新增 "echarts" : "^4.2.0-rc.2",
下面一步步展开来说:
第一步:superset/viz.py文件, 在BaseViz类的下方和TableViz的上方加入如下代码
class EchartsBarPolar(BaseViz):
viz_type = 'echarts_bar_polar' #对应前端的名字
is_timeseries = False
def should_be_timeseries(self):
fd = self.form_data
conditions_met = (
(fd.get('granularity') and fd.get('granularity') != 'all') or
(fd.get('granularity_sqla') and fd.get('time_grain_sqla'))