01.1-将老版本的superset升级迁移

0.24 升级至 0.28

现有已经进行简单开发的superset0.24 版本(添加了一些Echartst图表),需要将其升级至0.28版本,想要将旧版本保留的同时,把新加的图表迁移至新版本

0. 使用Linux系统进行开发 Ubuntu 16.04+ 推荐使用deeplinux

1. 使用Python3.6

Python3.6 对现有的superset版本支持最好。不建议使用 3.7

2. 下载superset 0.28.1 解压 可以直接在浏览器下载zip 也可以使用命令行

# 下载
wget https://github.com/apache/incubator-superset/archive/0.28.1.tar.gz
# 解压
tar -zxvf 0.28.1.tar.gz

3. 创建沙盒,在superset根目录下(有setup.py的目录下)

4. 安装运行库(前后端)

# assuming $SUPERSET_HOME as the root of the repo
# $SUPERSET_HOME 是一个变量,代表 superset 根目录
# 开启沙盒环境
source $SUPERSET_HOME/venv/bin/activate
cd $SUPERSET_HOME/superset/assets
yarn
yarn run build
cd $SUPERSET_HOME
python setup.py install

5. 初始化数据库

于现有需求需要保留旧版本,但superset不同版本的数据库位置相同,为了将其分离,可以在config.py中指定数据库位置,或更换其他的数据库。在这里我将0.28版本的数据库更换为Postgresql postgresql的安装方法可见我写的另一篇文档,有较为基础的记录。
初始化超级用户,需要在沙盒bin/fabmanager文件夹中也更改数据库链接
注:使用Postgresql数据库需要先pip install sqlalchemy对应的链接库

# 开启沙盒环境
# 初始化超级用户
fabmanager create-admin --app superset  
# 初始化数据库和应用  
superset/bin/superset db upgrade  
superset/bin/superset init

6. 用 pycharm 调试项目

用 pycharm加载路径 SUPERSET_HOME/superset/assets ,配置好后运行即可

疑问

第六步中的中环境变量添加后运行报错,但老师添加后则无问题
更改数据后,现有的图表加载失败提示找不到列,但此列是存在的,对新数据库的支持并不是很好。
迁移过来的图表,在进行配置图表渲染图表时抱错,提示dict 是不支持的类型

你可能感兴趣的:(01.1-将老版本的superset升级迁移)