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
 
