Docker部署 superset
docker run -d -p 8088:8088 -v /opt/docker/superset:/home/superset --name superset amancevice/superset
superset初始化
docker exec -it 容器ID superset init
初始化数据库
docker exec -it 容器ID superset db upgrade
设置用户名和密码
在容器内执行
export FLASK_APP=superset
flask fab create-admin
///docker exec -it 容器ID fabmanager create-admin –app superset
开启superset服务
docker exec -it 容器ID superset runserver
持久化mysql部署
SQLALCHEMY_DATABASE_URI ="mysql://root:密码@xx.xx.xx.xx:3306/数据库名称?charset=utf8"
重启服务
docker stop superset
docker start superset
上传csv的时候会出现permission error,解决方法,变更superset文件的权限。
1.进入容器
chmod 777 /usr/local/lib/python3.8/site-packages/superset
superset导出csv中文乱码问题
docker exec --user root -it superset /bin/bash
进入容器,然后”apt-get install vim”安装vim:
1.修改 /usr/local/lib/python3.8/site-packages/superset/config.py
CSV_EXPORT = {'encoding': 'gbk',}
ps:实际使用中验证如果改成’gbk’虽然win10用excel打开csv不会再有乱码,但是会有些厂家中因为编码问题导致不能正常导出。
其实真正乱码的原因是win10中的excel无法正常识别utf-8编码格式,正确的做法应该改成“utf-8-sig”
2.修改/usr/local/lib/python3.8/site-packages/superset/views/core.py
csv = df.to_csv(index=False, **config.get('CSV_EXPORT'))
response = CsvResponse(csv, mimetype='text/csv')
用CsvResponse 而不是Response
汉化
以root身份进入容器,安装vim
docker exec -it -u root id bash
apt-get update && apt-get install vim
vi /usr/local/lib/python3.8/site-packages/superset/config.py
1.修改 /usr/local/lib/python3.8/site-packages/superset/config.py
BABEL_DEFAULT_LOCALE=zh
重新编译设计到国际化的文件
pybabel compile -d /usr/local/lib/python3.8/site-packages/superset/translations