Superset是什么
superset是一个Apache开源的数据探查与可视化平台,怎么说呢,我们只需要安装它,配置他的一些文件,就可以连接数据库,进行图表展示。
Superset介绍
后端:整个项目的后端是基于Python的,用到了Flask、Pandas、SqlAlchemy。
前端:用到了npm、react、webpack,这意味着你可以在手机也可以流畅使用。。
功能介绍:
1、我们可以通过连接数据库,去对数据库中的单个表进行配置,展示出柱状图,折线图,饼图,气泡图,词汇云,数字,环状层次图,有向图,蛇形图,地图,平行坐标,热力图,箱线图,树状图,热力图,水平图等图,官网上是不可以操作多个表的,不过我们可以操作视图,也就是说在数据库建好视图,也可以在superset中给表新增一列进行展示。
2、配置好了我们想要的图表之后我们可以把它添加到仪盘表进行展示,还可以去配置缓存,来加速仪盘表的查询,不必要没次都去查询数据库。
3、我们可以查看进行查询表的sql,也可以把查询导出为json,csv文件。它有自己的sql编辑器,我们可以在里面来编写sql。
下载安装
Superset目前主要使用python2.7跟python3.4+来进行测试,不推荐使用python3(亲测安装过程中遇到很多坑),不支持python2.6(公司虚拟机默认是2.6.6),我是在python2.7.15上装的,linux系统下都会自带一个python,因为linux也依赖于python,我的linux系统自带了一个python2.6.6,我就又下载python2.7.15了,建议不要在windows上进行安装superset,我在windows下安装了几次都报错,因为有些插件没有windows版本的。
PS:在python2.7.15与linux系统自带版本替换时要改链接
[root@finai9 bin]# rm -rf python
[root@finai9 bin]# ln -s /usr/local/bin/python2 /usr/bin/python
[root@finai9 bin]# python -V
Python 2.7.15
1、操作系统的依赖
Superset的数据库连接信息存储在元数据库,因此,他们使用了cryptography 密码库来对连接信息进行加密,但是这个库有操作系统级别依赖。所以我们需要安装这个密码库所需要的依赖:
sudo yum upgrade python-setuptools
sudo yum install gcc libffi-devel python-devel python-pip python-wheel openssl-devel libsasl2-devel openldap-devel
以上依赖也可以 在安装过程中根据报什么错选择性安装
2、安装python
下载官网:https://www.python.org/downloads/
如果是gz包就tar -zxvf解压,如果是zip包就unzip解压
解压完后
[root@finai9 softwares]# cd Python-2.7.15/
./configure
make:
make install
3、Python virtualenv环境
pip 是一个安装和管理 Python 包的工具,pip依赖于pip仓库,默认为:http://pypi.python.org/,只要里面有就可以安装。
建议在virtualenv环境中安装superset(这样可以避免与其它python版本起冲突,还有就是下面安装superset时有几十个依赖便于区分),python3已经自带了virtualenv,python2你需要安装它,使用pip来安装:
pip install virtualenv (pip安装的所有包默认在 /usr/local/lib/python2.7/site-packages目录下)
安装了virtualenv环境之后,可以使用pip list来看一下pip装的一些工具,我们可以创建一个名字为venv(这里我用的是venv_python2.7,名字可以随便取)的virtualenv环境,然后切换到venv环境下:
virtualenv venv_python2.7 (ps:在哪个目录 下执行该命令就在哪建)
然后是激活
cd /venv_python2.7/bin
source activate
ps:一旦你激活你的virtualenv你所做的一切都只限于virtualenv。 要退出virtualenv只需输入deactivate。
进去虚拟环境有以下特点:前面会带venv_python2.7
(venv_python2.7) [root@finai9 superset]# superset runserver
下面是把pip跟setuptools更新到最新
pip install --upgrade setuptools pip
4、在virtualenv环境下使用pip来安装superset
pip install superset直接安装的话会安装最新的版本,但是好像最新版0.29.1版本(0.23.X以上版本需python3),如果想安装指定版本:pip install superset==xxx。如果网络不好的话会安装的有点久,而且可能会直接报错,连接超时;或者如果你是公司内网的话也是无法下载的,此时你需开通网络跨区访问权限(我自己的就是内网,需下面连个域名的权限:☛ pypi.org ; ☛ files.pythonhosted.org 端口http是80 https是443)
pip install superset==0.20.5
如果目录下有了superset的目录,说明你一已经安装好了。
1.创建用户,会让你输入用户名,姓氏,名字,邮箱,密码
fabmanager create-admin --app superset
2.初始化数据库
superset db upgrade
3.加载一些数据到sqlite数据库中进行展示
superset load_examples
4.初始化superset
superset init
5.启动superset服务,默认端口是8088,我们也可以去superset的配置文件去更改
superset runserver
创建管理员用户,执行完这一步会在mysql数据库里刷出几张表
fabmanager create-admin --app superset
初始化数据库:
superset db upgrade
数据库初始化失败了,修改superset/migrations/versions/2591d77e9831_user_id.py脚本
将def upgrade():
with op.batch_alter_table('tables') as batch_op:
batch_op.add_column(sa.Column('user_id', sa.Integer()))
batch_op.create_foreign_key('user_id', 'ab_user', ['user_id'], ['id'])
改为def upgrade():
with op.batch_alter_table('tables') as batch_op:
batch_op.add_column(sa.Column('user_id', sa.Integer(), sa.ForeignKey("ab_user.id")))
重新打包安装,然后重新upgrade即可。
加载样例
superset load_examples
初始化
superset init
启动
nohup superset runserver >> /bd/softwares/venv_python2.7/superset.log 2>&1 &
六、访问服务
浏览器输入http://10.9.5.9:8088即可。
Superset修改时区为"Asia/Shanghai"
1.找到superset的安装目录;
ps -ef|grep superset 找到superset的安装目录
2.进入安装目录下的找到config.py文件,修改入选
DRUID_TZ = tz.tzutc() 为DRUID_TZ = tz.gettz(‘Asia/Shanghai’)
即可
这样superset的时区就切换到东八区了.
使用
下面是官网订单案例使用测试
运行$KYLIN_HOME/bin/sample.sh 就会在hive自动创建五张表。当然你可以用vim打开sample.sh看看这个脚本文件到底是怎么样执行的。
导入后,可以在hive查看具体信息。红线框住的部分,这5张表构成一个星型模型,kylin_sales是事实表,其他的作为维度表。
创建MySQL数据源
创建Kylin数据源
共有条评论 网友评论