Superset部署开发
- Create source env
virtualenv superset
- install yarn
sudo wget https://dl.yarnpkg.com/rpm/yarn.repo -O /etc/yum.repos.d/yarn.repo
sudo yum install yarn
- 编译 每次前端页面修改的时候,都要重新编译前端
#assuming $SUPERSET_HOME as the root of the repo
cd $SUPERSET_HOME/superset/assets
yarn run sync-backend
yarn run prod
yarn run build
- 打包
python setup.py bdist_egg
easy_install superset-0.21.0.dev0-py2.egg
开发模式
开发者模式运行的时候,代码的改变会直接应用部署,无需重启服务
➜ PycharmProjects source virtual_env/superset/bin/activate
(superset)➜ superset git:(0.250-dev) ✗ superset runserver -d -p 8088
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Starting Superset server in DEBUG mode
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
2017-12-22 11:57:21,159:INFO:werkzeug: * Running on http://0.0.0.0:8088/ (Press CTRL+C to quit)
2017-12-22 11:57:21,161:INFO:werkzeug: * Restarting with stat
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Starting Superset server in DEBUG mode
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
2017-12-22 11:57:23,401:WARNING:werkzeug: * Debugger is active!
2017-12-22 11:57:23,419:INFO:werkzeug: * Debugger PIN: 128-625-238
使用superset完成slice参数化分享
Superset本身支持分享功能,使用短连接或这个slice url可以将slice嵌入其他的页面,该种分享不支持参数传递,不支持安全校验.
Superset改造:
- 支持slice的参数化分享
在我们的业务中,我们需要将slice分享到我们的业务系统中,根据不同业务系统员的权限不同,看到的数据应该需要不同,这样就需要分享出去的slice需要携带一些参数,用于动态的生成slice图表
- 支持安全校验
分享出去的slice Url需要添加token校验
目前这块的做法是新建一个share请求路径,改请求可以生成slice的share url,所有对于share路径的请求都会有token校验.校验之后生成进行slice渲染.目前该功能已经正常运行,满足线上需求.
- 请求结果预处理
在使用superset的时候,我们需要对查询结果做一些预处理,以便以更好地方式显示到前端页面上.