1.1 Superset概述
Apache Superset是一个现代的数据探索和可视化平台。它功能强大且十分易用,可对接各种数据源,包括很多现代的大数据分析引擎,拥有丰富的图表展示形式,并且支持自定义仪表盘。
2.1 Superset官网地址
链接: Superset官网地址
3.1 环境准备
3.1.1 安装Miniconda
conda是一个开源的包、环境管理器,可以用于在同一个机器上安装不同Python版本的软件包及其依赖,并能够在不同的Python环境之间切换,Anaconda包括Conda、Python以及一大堆安装好的工具包,比如:numpy、pandas等,Miniconda包括Conda、Python。
此处,我们不需要如此多的工具包,故选择MiniConda。
1)下载Miniconda(Python3版本)
下载地址: conda下载地址
2)安装Miniconda
(1)执行以下命令进行安装,并按照提示操作,直到安装完成。
bash Miniconda3-latest-Linux-x86_64.sh
3.1.2 superset安装前准备
新建虚拟环境superset_env
conda create -n superset python=3.8(Python版本X.X可以自己指定)
激活虚拟环境
conda activate superset
下载相关依赖包
//更新pip,安装pillow和wheel库
python -m pip install --upgrade pip
pip install pillow
pip install wheel
//安装其他相关依赖
sudo yum install -y gcc gcc-c++ libffi-devel python-devel python-pip python-wheel
python-setuptools openssl-devel cyrus-sasl-devel openldap-devel
4.1 superset安装
4.1.1下载superset
pip install apache-superset --trusted-host https://repo.huaweicloud.com -i
https://repo.huaweicloud.com/repository/pypi/simple
4.1.2 Superset的运行需要预配置FLASK_APP
set FLASK_APP=superset
4.1.3 初始化数据库(在这一步会遇到非常多的依赖问题导致的报错,详细报错可以参考下面的bug合集)
superset db upgrade
4.1.4 创建管理员用户
superset fab create-admin
4.1.5创建默认角色和权限
superset init
5.1 启动superset
5.1.1 安装guncion
pip install gunicorn -i https://pypi.douban.com/simple/
说明:gunicorn是一个Python Web Server,可以和java中的TomCat类比
gunicorn --workers 5 --timeout 120 --bind 192.168.110.60:8787 "superset.app:create_app()" --daemon
注意如果后台运行了会看不到报错信息,所以建议在第一次运行时前台运行,方便后续关掉程序也方便看报错信息
6.1 bug合集
报错:ImportError: cannot import name ‘soft_unicode’ from 'markupsafe’
解决:pip install markupsafe==2.0.1
报错:ModuleNotFoundError: No module named ‘werkzeug.wrappers.etag’
解决:pip install werkzeug==2.0.1
解决方法:pip install Flask-WTF~=1.1.1
解决方法:创建一个python3.8的环境就行,先删除superset环境
conda remove -n superset --all
conda create -n superset python=3.8
解决方法:pip install importlib-metadata==4.13.0
解决方法:pip install marshmallow_enum
解决方法: pip install importlib-metadata==4.13.0
解决方法:设置一个秘钥传进去
export SUPERSET_SECRET_KEY="********************************************"
(可以使用一下命令生成一个秘钥)
openssl rand -base64 42
基本上面的bug就是我安装时所遇到的bug了
6.1 superset 语言汉化设置
找到你的miniconda/bin目录同级的envs中的superset然后在这个里面创建一个superset_config.py文件,并在文件中加入以下代码
LANGUAGES = {
"en": {"flag": "us", "name": "English"},
"es": {"flag": "es", "name": "Spanish"},
"it": {"flag": "it", "name": "Italian"},
"fr": {"flag": "fr", "name": "French"},
"zh": {"flag": "cn", "name": "Chinese"},
"ja": {"flag": "jp", "name": "Japanese"},
"de": {"flag": "de", "name": "German"},
"pt": {"flag": "pt", "name": "Portuguese"},
"pt_BR": {"flag": "br", "name": "Brazilian Portuguese"},
"ru": {"flag": "ru", "name": "Russian"},
"ko": {"flag": "kr", "name": "Korean"},
"sk": {"flag": "sk", "name": "Slovak"},
"sl": {"flag": "si", "name": "Slovenian"},
"nl": {"flag": "nl", "name": "Dutch"},
}
superset2.0.1版本配置多国语言 superset改中文
7.1 配置数据源
apache superset 数据源官网
直接找到想要的数据源直接pip安装就好了,需要重启服务
参考博客:
https://www.bilibili.com/read/cv15921648/
https://blog.csdn.net/WangQueBuShiLei/article/details/125926941
https://www.jdk5.com/ask/265/flask-attributeerror-module-flask-json-has-no-attribute-jsonencoder
https://blog.csdn.net/FontThrone/article/details/111035250
https://blog.csdn.net/jiangnianwangluo/article/details/130379493
https://www.soinside.com/question/rcWbcw2h59eWBXwDamsxyW
https://mp.weixin.qq.com/s/BK-L6CPoRVTu46mZQFgKqw