数据可视化平台Superset 简介

Superset 简介

Superset是Airbnb开源BI数据分析与可视化平台(曾用名Caravel、Panoramix),该工具主要特点是可自助分析、自定义仪表盘、分析结果可视化(导出)、用户/角色权限控制,还集成了一个SQL编辑器,可以进行SQL编辑查询等,原来是用于支持Druid的可视化分析,后面发展为支持很多种关系数据库及大数据计算框架,如:mysql, oracle, Postgres, Presto, sqlite, Redshift, Impala, SparkSQL, Greenplum, MSSQL。整个项目基于Python框架,它集成了Flask、D3、Pandas、SqlAlchemy等。

Github地址:https://github.com/airbnb/superset

官网地址:http://airbnb.io/projects/superset/

架构介绍

后端

整个项目的后端是基于Python的,用到了Flask、Pandas、SqlAlchemy。

Flask AppBuilder(鉴权、CRUD、规则

Pandas(分析)

SqlAlchemy(数据库ORM)

此外,也关注到Superset的缓存机制值得我们学习:

采用memcache和Redis作为缓存

级联超时配置

UI具有时效性控制

允许强制刷新

前端

自然前端是JS的天下,用到了npm、react、webpack,这意味着你可以在手机也可以流畅使用。

d3 (数据可视化)

nvd3.org(可重用图表)

局限性

Superset的可视化,目前只支持每次可视化一张表,对于多表join的情况还无能为力

依赖于数据库的快速响应,如果数据库本身太慢Superset也没什么办法

语义层的封装还需要完善,因为druid原生只支持部分sql

Superset的安装配置

  1. 基于docker安装superset

      Docker 参考资料 https://www.runoob.com/docker/docker-info-command.html

1.1安装前准备

  • 检查是否已安装docker(docker version)

  1.1 docker 下载

首先下载docker,根据自己需求下载对应的版本

https://get.docker.com/rpm/1.7.1/centos-6/RPMS/x86_64/docker-engine-1.7.1-1.el6.x86_64.rpm

 1.2 docker 文件上传

将下载的docker传输到需要安装的服务器上命令  rz

1.3 docker 安装

安装命令如下:

rpm -ivh docker-engine-1.7.1-1.el6.x86_64.rpm

安装报错,说缺少依赖包,libcgroup可以直接在linux安装镜像中是有的,当然如果找不到这个镜像了,可以直接去网上下载

安装依赖包libcgroup  输入如下命令:

yum install -y libcgroup-*

再次安装docker,安装成功

安装好后当然要简单测试一下

在命令行输入如下命令:

docker version

如果下图所示那就说明docker已经安装成功

1.4 docker 基础命令

启动docker服务 输入如下命令:

service docker start

停止docker服务 输入如下命令:

service docker stop

查看 docker 版本号 输入如下命令:

docker version

查看 docker 状态 输入如下命令:

service docker status

查看 系统中docker 镜像 输入如下命令:

docker images

删除 系统中docker 镜像 输入如下命令:

docker rmi $IMAGE ID

注意:删除镜像前需要检查是否有相关联的容器在运行 可以使用命令docker ps -a 来查看,需要先停止掉容器后在删除,不然无法删除。可使用强制删除

docker rmi -f $IMAGE ID

查看 当前所有正在运行的容器  输入如下命令:

docker ps

查看 当前所有的容器  输入如下命令:

docker ps -a

查看 最近一次启动的容器  输入如下命令:

docker ps -l

运行 某个容器  输入如下命令:

docker start $CONTAINER_ID

停止 某个运行的容器  输入如下命令:

docker stop $CONTAINER_ID

重启 某个运行的容器  输入如下命令:

docker restart $CONTAINER_ID

删除 某个容器  输入如下命令:

docker rm $CONTAINER_ID

进入 某个容器 内部  输入如下命令:

docker exec -it --user root $CONTAINER_ID /bin/bash

退出 某个容器 内部  输入如下命令:

exit

查看 某个运行容器日志  输入如下命令:

docker logs -f -t --tail=100   $CONTAINER_ID

1.2 选择superset镜像

  • 查找superset相关的镜像(docker search superset)

  • 选择STARS最高的amancevice/superset
  • 拉取镜像(docker pull amancevice/superset)

如果拉去特定的版本 加上版本号(docker pull amancevice/superset:0.28.1)

  • 查看镜像是否下载完成(docker images)

1.3 安装superset容器

  • 创建本地目录(mkdir /opt/docker/superset/ -p 让容器中的superset挂载本地机的配置文件)

  • 创建superset容器(docker run -d -p 8088:8088 -v /opt/docker/superset:/home/superset amancevice/superset)

  • 查看容器是否运行成功(docker ps)

1.4 配置superset容器

  • 设置用户名和密码(docker exec -it 容器ID fabmanager create-admin –app superset)
  • 命令执行成功后,按提示输入用户名、姓、名、邮箱、密码等内容
  • docker exec -it 606a18e7df55 fabmanager create-admin --app superset

  • 初始化数据库(docker exec -it 容器ID superset db upgrade)

docker exec -it 606a18e7df55 superset db upgrade

  • 加载数据(docker exec -it 容器ID superset load_examples)

docker exec -it 606a18e7df55 superset load_examples

  • superset初始化(docker exec -it 容器ID superset init)

docker exec -it 606a18e7df55 superset init

  • 开启superset服务(docker exec -it 容器ID superset runserver)

docker exec -it 606a18e7df55 superset runserver

Superset 基础使用手册

 1.访问superset

  • 使用浏览器打开:http://ip:8088
  • 使用用户名和密码登录
  • admin/admin

2.更改语言

Superset的默认语言是英文,点击右上角的美国国旗可切换语言。这里切换成了大中国鲜艳的五角星国旗。

切换后的效果

3.连接数据

3.1 添加数据库

选择 数据源  -- 数据库

①点击数据源选择数据库,进入页面后点击右上角绿色的+号新增一个数据库

为数据库填入一个任意名称,以及SQLAlchemy URI。

要了解如何构造您的URI,请查阅SQLAlchemy文档(http://docs.sqlalchemy.org/en/rel_1_0/core/engines.html)。

然后你可以测试你的连接。 如果它工作,你会看到一个确认弹出窗口,并且会看到连接数据库后用户下所有的表。

mysql://用户名:密码@数据库ip地址:3306/数据库名称?charset=utf8

②填写数据库配置相关信息,点击测试连接,出现seems OK!表明数据库连接成功

数据库中所有的表信息 会在下面显示出来

新增数据库后的列表

数据库依赖

3.2 添加表

选择 数据源 - 数据表

已经存在的表是系统初始化的表

选择数据库 ,输入表名 保存

4.安全菜单栏

4.1 用户列表

登录时可以使用admin进行用户创建

安全->用户列表->点击+按钮

在填写完信息后点击保存 (注:红色*的选项为必填项)即可使用新建账号登录

在创建账号时,根据使用账号功能需求选择不同的角色属性,每个账号的用户名不能相同.

Superset的默认角色有:Admin、Alpha、Gamma、sql_lab、Public、granter,下面介绍一下详细介绍一下每个角色的权限:

1、Admin

管理员有所有的权利,其中包括授予或撤销其他用户和改变其他人的切片和仪表板的权利。

2、 Alpha

alpha可以访问所有数据源,但不能授予或撤消其他用户的访问权限,并且他们也只能修改自己的数据。alpha用户可以添加和修改数据源。

3、 Gamma

Gamma访问有限。 他们只能使用他们通过另一个补充角色访问的数据源中的数据。 他们只能访问查看从他们有权访问的数据源制作的切片和仪表板。 目前,Gamma用户无法更改或添加数据源。 我们假设他们大多是内容消费者,虽然他们可以创建切片和仪表板。

还要注意,当Gamma用户查看仪表板和切片列表视图时,他们只会看到他们有权访问的对象。

4、sql_lab

sql_lab角色用于授予需要访问sql lab的用户,而管理员用户可以访问所有的数据库,默认情况下,Alpha和Gamma用户需要一个数据库的访问权限。

5、Public

允许登录用户访问一些Superset的一些功能。

在superset的config.py文件中public_role_like_gamma属性设置为true,您授予的公共角色权限设置为与Gamma的作用相同。如果要启用匿名用户查看仪表板,可以这样做。但是仍然需要对特定数据集进行显式授权,这意味着您需要编辑Public角色并将Public的数据源手动添加到角色。

  1. Granter

定制化,自定义 FAB公开的权限非常精细,可以进行高水平的自定义。FAB为每个创建的模型(can_add,can_delete,can_show,can_edit,...)以及每个视图自动创建许多权限。最重要的是,Superset可以公开更细粒度的权限 all_datasource_access。

自定义角色管理

角色是由一组权限,并有许多类别的权限集。下面是权限的不同类别:

模型与动作:模型是像仪表板、切片或用户这样的实体。每个模型都有一套固定的权限,如can_edit,can_show,can_delete,can_list,can_add,等等。通过添加can_delete仪表板上的一个角色,并授予角色的用户,该用户将能够删除的仪表板。

视图:视图是单独的Web页面,如探索视图或SQL实验室视图。当授予用户时,他/她将在菜单项中看到该视图,并能够加载该页。

数据源:对于每个数据源,都会创建一个权限。如果用户没有all_datasource_access权限,用户只能看到片或探索,授予他们的数据源。

数据库:授予对数据库的访问权限,允许用户访问该数据库中的所有数据源,并允许用户在sql lab中查询该数据库,只要向用户授予了特定于sql lab的权限。

4.2 角色列表

4.3 用户统计

4.4 ​​​​​​基本权限

​​​​​​​4.5 视图菜单

​​​​​​​4.6 视图/菜单权限

​​​​​​​4.7 操作日志

记录一些平台操作记录

5.管理菜单栏

​​​​​​​5.1 导入仪表盘

5.2​​​​​​​ css模版

​​​​​​​5.3 查询

​​​​​​​5.4  注解层

5.5 ​​​​​​​注解

6.数据源菜单栏

​​​​​​​6.1 数据库

​​​​​​​6.2 Upload a CSV

可导入格式为.csv 文件中的数据

​​​​​​​6.3 数据表

新增表操作

1.点击数据源–>数据表–>进入下一个页面

2.点击“+号”按钮–>进入下一页面

3. 选择数据库 输入表名

数据源 -> 数据表 可看到所有已连接的数据表

可对表结构、数据类型、是否可进行group、filter操作等进行编辑

​​​​​​​6.4 Druid集群

Druid 是一个基于分布式的快速列式存储,也是一个为BI设计的开源数据存储查询工具。Druid提供了一种实时数据低延迟的插入、灵活的数据探索和快速数据聚合。现有的Druid已经可以支持扩展到TB级别的事件和PB级的数据了,Druid是BI应用的最佳搭档。

​​​​​​​6.5 Druid数据源

​​​​​​​6.6 扫描新的数据源

​​​​​​​6.7 刷新Druid数据源

7. Charts

数据可视化列表

创建图表

通过更改可视化类型和其他设置,可以很灵活地对数据进行探索性分析。若在探索的过程中发现某个有价值的点,可以点击左上角的 Save 按钮,在出现的弹出框中命名图表并选择是否将其添加到 dashboard,以将其保存为图表

8. 看板

Charts 的集合

Deck.gl Demo

Misc Charts

Births

Worlds Bank Data

新增看板

从顶部导航菜单的 “看板” 进入到 列表页,点击右上角的绿色加号按钮:

点击按钮后,将进入添加 看板 的表单页,在该页面依次填写  标题和拥有者,再点击 Save 按钮,即可完成创建:

9.SQL工具箱

​​​​​​​9.1 SQL 编辑器

1.点击SQL工具箱–>SQL编辑器

2.选择数据库–>写SQL–>查询

3.数据可视化

1.根据查询的结果点击 Explore

2.进入数据可视化编辑界面

9.2​​​​​​​ 查询搜索

查询搜索历史的sql操作记录

​​​​​​​9.3 已保存查询

查询已经保存的sql语句,查询数据可直接点击,可显示记录,编辑记录,删除记录

以上就是整个superset简介了,写得不是很好,还请各位大神多多指教, 有兴趣的同学可以加QQ380281619 一起交流学习.谢谢!

数据可视化平台Superset 简介相关推荐

  1. 数据可视化平台Superset(安装篇)

    前言 过程和结果哪个更重要?有人说结果重要,也有人说过程重要,更有人觉得过程和结果都很重要,其实老苏觉得这个要分什么事情,就折(xue)腾(xi)来说,老苏觉得过程比结果重要,因为虽然有可能你最终折腾 ...

  2. 开源的数据探查与可视化平台superset

    安装 pip superset curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py python get-pip.py λ pip inst ...

  3. 魅族大数据可视化平台建设之路

    本文是根据魅族科技大数据平台架构师赵天烁3月31日在msup携手魅族主办的第十二期魅族技术开放日<魅族大数据可视化平台建设之路>演讲中的分享内容整理而成. 内容简介:本文主要从现状& ...

  4. vue 可视化布局工具_GitDataV一款Github的'大数据可视化平台'

    简介 GitDataV基于Vue框架构建的github数据可视化平台,是一个github"大数据可视化平台",通过它你可以更直观的看到你在github里的一些数据: 个人信息(✔) ...

  5. emqx 使用端口_数据传输、存储、展现,EMQ X + TDengine 搭建 MQTT 物联网数据可视化平台...

    物联网数据采集涉及到大量设备接入.海量的时序数据传输,EMQ X 消息中间件与 TDengine 大数据平台的组合技术栈完全能够胜任场景中的海量时间序列监测数据的传输.存储和计算. 数据入库后,往往需 ...

  6. 数据可视化平台 vue+node+webpack+echarts+d3

    前言 文章写于 2020年3月,后边只有简单的补充更新历程 ~ 随着公司的发展和进步,数据大屏的业务日益增长,公司目前的做法大致可以分为两种 人工标配 or 第三方工具 . 人工:很简单,一个前端配备 ...

  7. 毕业设计之基于Vue的数据可视化平台

    真正的大师,永远都怀着一颗学徒的心! 一.项目简介 今天说的这个软件是一款基于Vue的数据可视化平台,后端采用的是go语言. 二.实现功能 布局与缩放 拖拽 旋转 刻度尺 吸附 图表(柱状图.折线图. ...

  8. 基于大数据的消费者能力的数据可视化平台设计与实现

    摘 要 大数据时代的来临,为了提高企业核心竞争力,首先需要解决电子商务大数据领域中,本设计主要为解决商家无法找到精准客户的问题,通过科学的方式对目标市场中形态各异的消费者进行精细的划分,根据每个用户不 ...

  9. 流数据机器学习平台SAMOA简介

    流数据机器学习平台SAMOA简介 SAMOA (Scalable Advanced Massive Online Analysis)是由雅虎开源的流数据在线机器学习的框架.和其它绝大多数大数据处理框架 ...

  10. 世界人口钟实时数据_用数字孪生重新定义智慧城市,美象VR推出MxDATA智慧城市CIM数据可视化平台...

    [猎云网(微信:ilieyun)成都]10月11日报道(文/尹子璇) 根据联合国发布的<世界城镇化展望>显示,预计到2050年,全世界将近70%的人口将居住在城市.然而,我们真的了解自己亲 ...

最新文章

  1. DeepMind成功使用深度强化学习技术完美控制核聚变反应堆!
  2. 苹果官网区号怎么填?
  3. 51单片机学习笔记(郭天祥版)(9)——IIC、EEPROM
  4. velocity 的 escape实现
  5. 移动web开发(一)——移动web开发必备知识
  6. python退出帮助系统help应该使用exit_python--help - tesion
  7. 风湿病年鉴 | scRNA-seq研究揭示骨关节炎患者的半月板退变新机制
  8. 赵明回应雷军“生死看淡,不服就干”:很像古惑仔
  9. Python机器学习方向企业面试题(三)
  10. 广西科技大学计算机考研,广西科技大学研究生院
  11. mysql重置密码报错,吐血整理
  12. DAC+DMA+TIM实现音频播放问题记录
  13. jQuery实例——表格隔行换色
  14. 项目中用了spring这些牛逼的开发技巧,经理请我吃饭了
  15. win7 安装英文语言包
  16. cad(2000坐标系)转kml
  17. Putty(菩提)远程连接服务器教程听语音
  18. CMS是什么?如何识别CMS?
  19. 红黑树 之 原理和算法详细介绍
  20. 钉钉在线课程开启屏幕共享时电脑蓝屏问题解决办法

热门文章

  1. C语言中abs()用法及其他绝对值函数
  2. b和kb的换算_G,M,KB,B,b,MB/s,Mb/s,bps等等之间的换算
  3. android照片同步到另一部手机,怎样可以把以前手机里的照片导入另一个手机?...
  4. 教你解决PC微信“版本过低”无法登陆的问题
  5. [分布式系列]Gossip协议
  6. skimage rescale_intensity函数
  7. 快速低成本的组建Symbian团队(使用pys60)
  8. 手机模拟器安装证书抓包
  9. 1亿年轻人在Soul找到社交新选择
  10. synchronized关键词保证线程安全