JDK动态代理 Opencv map遍历 Notify.js bootstrap后台管理 react脚手架 传智播客python 进销存源码 jquery解析json 打印缩放怎么设置 map删除指定元素 查看mysql是否启动 oracle给表增加字段 查看mysql密码 oracle分析函数 java语法基础 java开发接口 java学习基础 java环境部署 java数组添加元素 学习java基础 java原始数据类型 魔兽世界字体包 java电子书下载 摩斯电码翻译器 摩斯密码在线翻译 jlabel 迅雷会员共享账号 绿幕抠图 极限防守图 qq流览器下载 数据库编程软件 kms工具 ppt虚线怎么画 python常用函数 maya镜像复制 长城证券烽火版下载 wps2012专业版 脚本是什么意思 证件照修图
当前位置: 首页 > 学习教程  > 编程语言

Superset部署与集成kylin

2020/8/31 13:14:18 文章标签:

Superset是什么

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

Superset介绍

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

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


功能介绍:

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

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

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

 

 

下载安装

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系统自带版本替换时要改链接

[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

 

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:在哪个目录 下执行该命令就在哪建)

 

然后是激活

cd /venv_python2.7/bin

source activate

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

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

(venv_python2.7) [root@finai9 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的目录,说明你一已经安装好了。

 

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数据源

 

 

 


本文链接: http://www.dtmao.cc/news_show_150062.shtml

附件下载

相关教程

    暂无相关的数据...

共有条评论 网友评论

验证码: 看不清楚?