Superset1.0.1安装和数据源对接
第一个博客
大家好,偶然间需要用到superset,折腾了好几天,网上关于最新版本的资料太少,并且官网的文档太简单,根本无法顺利安装起来,并且坑很多,索性自己摸索下,记录下,希望对小伙伴有所帮助,避免采坑,全都是干货,第一次发博客,文章格式不美观请见谅。
Superset介绍
Superset 是一款由 Airbnb 开源的“现代化的企业级 BI(商业智能) Web 应用程序”,其通过创建和分享 dashboard,为数据分析提供了轻量级的数据查询和可视化方案。说白了就是一个简易的BI工具;
安装环境
系统环境:Centos7.4
Python:3.7.4
Superset:1.0.1(目前最新)
安装方式
1、 基于docker
2、 基于python
3、 基于source
4、 基于kubernetes
安装部署
文章是以python的方式安装,在线安装,离线需要依赖包较多,本人没有尝试
安装Python3环境准备的包
yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel libffi-devel
下载python安装包
wget www.python.org/ftp/python/3.6.6/Python-3.7.4.tgz
安装包下载较慢,此次给大家一个网盘链接(含python3.6.6):
链接:https://pan.baidu.com/s/12vcl7foYaQACmQNIikhJUA
提取码:x07u
tar -xf Python-3.7.4.tgz #解压缩
cd Python-3.7.4 #进入python文件夹
./configure #配置
make && make install #安装
如下表示成功
[root@host-10-59-5-184 models]# python3.7
Python 3.7.4 (default, Feb 8 2021, 18:15:31)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-44)] on linux
Type “help”, “copyright”, “credits” or “license” for more information.
exit()
安装EPEL源并安装superset必备的包
yum install epel-release #安装epel源
yum install mysql-devel #如果使用msyql作为元数据存储的话,需要安装MySQL开发包,属于pymysqlclient依赖
yum install gcc gcc-c++ libffi-devel python-devel python-pip python-wheel openssl-devel cyrus-sasl-devel openldap-devel #安装依赖包
安装Python3的virtualenv并建立superset的env
pip3 install virtualenv
或者:pip3 install virtualenv -i http://pypi.douban.com/simple --trusted-host pypi.douban.com #安装virtualenv
cd /usr/local/src
python3 -m venv superset-py3 #建⽴superset的venv
source superset-py3/bin/activate #激活superset的venv
安装superset
pip install apache-superset(但是这种方式是0.38版本)
最新的需要手动下载安装包并安装
Pip install apache-superset-1.0.1.tar.gz (过程可能出错,大多属于module下载问题,问题不大)
superset db upgrade
如果有报错:ModuleNotFoundError: No module named ‘_bz2’
该错误是缺失_bz2.cpython-36m-x86_64-linux-gnu.so这个os文件,处理步骤如下:
1)下载该文件https://pan.baidu.com/s/19EuNjLWIGPxc1R5C2ntUwg 提取码:q9ki
2)将下载后的文件放到python3.7文件夹里…/python37/lib/python3.6/lib-dynload/目录下;(重命名:_bz2.cpython-37m-x86_64-linux-gnu.so)
#Create an admin user (you will be prompted to set a username, first and last name before setting a password)
$ export FLASK_APP=superset
superset fab create-admin
#Load some data to play with
superset load_examples
报错:sqlite3.OperationalError: too many SQL variables
原因:https://www.sqlite.org/limits.html
defaults to 999 for SQLite versions prior to 3.32.0 (2020-05-22) or 32766 for SQLite versions after 3.32.0.
处理:升级sqlite3(3.32以