Superset是什么

superset是一个Apache开源的数据探查与可视化平台,怎么说呢,我们只需要安装它,配置他的一些文件,就可以连接数据库,进行图表展示。

Superset介绍

后端:整个项目的后端是基于Python的,用到了FlaskPandasSqlAlchemy

前端:用到了npmreactwebpack,这意味着你可以在手机也可以流畅使用。。 


功能介绍:

1、我们可以通过连接数据库,去对数据库中的单个表进行配置,展示出柱状图,折线图,饼图,气泡图,词汇云,数字,环状层次图,有向图,蛇形图,地图,平行坐标,热力图,箱线图,树状图,热力图,水平图等图,官网上是不可以操作多个表的,不过我们可以操作视图,也就是说在数据库建好视图,也可以在superset中给表新增一列进行展示。

2、配置好了我们想要的图表之后我们可以把它添加到仪盘表进行展示,还可以去配置缓存,来加速仪盘表的查询,不必要没次都去查询数据库。

3、我们可以查看进行查询表的sql,也可以把查询导出为jsoncsv文件。它有自己的sql编辑器,我们可以在里面来编写sql

 Superset部署与集成kylin

 

下载安装

Superset目前主要使用python2.7python3.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.15linux系统自带版本替换时要改链接

[[email protected] bin]# rm -rf python

[[email protected] bin]# ln -s /usr/local/bin/python2 /usr/bin/python

[[email protected] 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解压

解压完后

[[email protected] softwares]# cd Python-2.7.15/
./configure

make

make install

 

3Python virtualenv环境

pip 是一个安装和管理 Python 包的工具,pip依赖于pip仓库,默认为:http://pypi.python.org/,只要里面有就可以安装。

建议在virtualenv环境中安装superset(这样可以避免与其它python版本起冲突,还有就是下面安装superset时有几十个依赖便于区分)python3已经自带了virtualenvpython2你需要安装它,使用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:在哪个目录 下执行该命令就在哪建)

  Superset部署与集成kylin

然后是**

cd /venv_python2.7/bin

source activate

ps:一旦你**你的virtualenv你所做的一切都只限于virtualenv 要退出virtualenv只需输入deactivate

进去虚拟环境有以下特点:前面会带venv_python2.7

(venv_python2.7) [[email protected] superset]# superset runserver

 

下面是把pipsetuptools更新到最新

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  端口http80  https443)

 

pip install superset==0.20.5

 

如果目录下有了superset的目录,说明你一已经安装好了。

  Superset部署与集成kylin

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看看这个脚本文件到底是怎么样执行的。

  Superset部署与集成kylin

导入后,可以在hive查看具体信息。红线框住的部分,这5张表构成一个星型模型,kylin_sales是事实表,其他的作为维度表。

  Superset部署与集成kylin

创建MySQL数据源

  Superset部署与集成kylin

  Superset部署与集成kylin

  Superset部署与集成kylin

 Superset部署与集成kylin

 

创建Kylin数据源

 

  Superset部署与集成kylin

Superset部署与集成kylin

 

相关文章:

  • 2022-12-23
  • 2021-06-22
  • 2022-12-23
  • 2021-09-27
  • 2021-07-17
猜你喜欢
  • 2021-11-23
  • 2022-12-23
  • 2022-12-23
  • 2021-06-23
  • 2022-12-23
  • 2021-12-15
相关资源
相似解决方案