Superset数据分析平台搭建
背景
近期遇到数据可视化编辑平台,有介绍superset,此处记录一下搭建的方式。其本身支持多平台、多方式的搭建,但因为我在使用docker进行搭建的时候,总是被提示报错,导致无法运行,因此后来改用python虚拟环境搭建,本文记录也是如此。
可能自己缺乏相关产品的使用经验和需求,导致并不觉得该产品很好用,因此此处记录的搭建方式倒是其次,搭建过程中遇到的一些知识点却让自己有所学习。
搭建方式参考官方:http://superset.apache.org/installation.html
搭建方式
安装依赖环境
1
2官方说要安装以下内容,但是我安装的时候提示多个环境不存在了,后来一气之下,直接跳过了这步,也正常搭建成功
sudo apt-get install build-essential libssl-dev libffi-dev python3.6-dev python-pip libsasl2-dev libldap2-dev安装Python虚拟环境,原因有两个:
- 建议在虚拟环境中安装Superset,因为有些包可能与最新的包有冲突。
- 在后面进行初始化的时候,如果不是在虚拟环境中,它会提示”superset: command not found”
1
2
3
4
5
6
7
8
9
10
11
12
13此处与官方文档不一样
sudo apt-get install python3-venv
创建并激活Virtualenv
一旦激活Virtualenv,则所做的一切都将限制在virtualenv内部
python3 -m venv venv
. venv/bin/activate
windows 上激活不同
venv\Scripts\activate
退出virtualenv
deactivate安装pymysql,由于superset默认使用的是sqllite数据库,但是我们用的mysql更多,所以需要安装该包
1
2在Virtualenv中进行安装
sudo pip3 install pymysql安装superset,并且初始化
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19以下均在虚拟环境中进行安装的
Install superset
pip3 install apache-superset
初始化数据库
superset db upgrade
创建默认管理员,执行的时候会让填写用户名、密码、邮箱信息,这个就是管理员登录的信息
export FLASK_APP=superset
superset fab create-admin
这个似乎是加载一些测试数据,不过我执行的时候似乎因为链接问题导致超时,不过并不影响,可以直接跳过
superset load_examples
superset初始化
superset init
启动seperset服务,并且指定端口和IP,ip根据自己的机器定,如果不设定则默认为localhost
superset run -h 192.168.0.101 -p 8088 --with-threads --reload --debugger弄完以后,就直接打开浏览器,访问:192.168.0.101:8088,看能够正常登录和查看内容
配置mysql数据库
1
2首先在数据库中创建一个用于superset的数据库
create database superset charset=utf8;然后进入superset前台,依次点击【Sources】–>【databases】–>右上角【+】,填写内容如下:
参数 内容 Databases mysql中用于superset的数据库名称 SQLAlchemy URI 链接数据库的方式,如:mysql+pymysql://[用户]:[密码]@localhost/[superset数据库]?charset=utf8 Allow Csv Upload 允许csv文件上传,勾选上 Allow CREATE TABLE AS 允许创建数据表,勾选上 Allow CREATE VIEW AS 允许创建视图,勾选上 Allow DML 允许增删改,勾选上
知识点
在国内,用docker在拉取images时,其速度可以用感人来形容,好在国内有镜像源,修改方式如下:
1
2
3
4
5
6
7修改/etc/docker/daemon.json文件,如无该文件,则创建一个即可,将其内容修改为如下:
{
"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]
}
上述文件修改以后执行命令
sudo systemctl daemon-reload在国内,clone github上的项目到本地时,其速度之慢简直难以形容,好在国内有gitee,可以用其间接拖包,方式如下:
- 登录gitee后,点击右上角【+】,选择【新建项目】
- 在新页面,下拉到页面最底部,勾选上【导入已有项目】
- 然后将github上对应项目的链接copy到【导入已有项目】下方的输入框中,然后点击创建
- 等gitee拉取完成以后,本地就直接git clone 【gitee上对应的项目链接】
在国内,通过pip安装官方包的方式,着实慢,好在国内有各种镜像源,修改方式如下:
在用户home目录新建【.pip】文件夹,然后在其中创建【pip.conf】文件
1
vim pip.conf
修改【pip.conf】文件的内容如下,镜像源的链接根据自己的需要来定:
1
2
3
4[global]
index-url = https://mirrors.aliyun.com/pypi/simple/
[install]
trusted-host=mirrors.aliyun.com