ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

superset 可视化平台搭建

2021-11-13 21:02:30  阅读:295  来源: 互联网

标签:权限 -- 数据源 devel admin 可视化 superset 搭建


什么是 superset

Superset 是一款由 Airbnb 开源的“现代化的企业级 BI(商业智能) Web 应用程序”,其通过创建和分享 dashboard,为数据分析提供了轻量级的数据查询和可视化方案。
Superset 的前端主要用到了 React 和 NVD3/D3,而后端则基于 Python 的 Flask 框架和 Pandas、SQLAlchemy 等依赖库,主要提供了这几方面的功能:

  • 集成数据查询功能,支持多种数据库,包括 MySQL、PostgresSQL、Oracle、SQL Server、SQLite、SparkSQL 等,并深度支持 Druid。
  • 通过 NVD3/D3 预定义了多种可视化图表,满足大部分的数据展示功能。如果还有其他需求,也可以自开发更多的图表类型,或者嵌入其他的 JavaScript 图表库(如 HighCharts、ECharts)。
  • 提供细粒度安全模型,可以在功能层面和数据层面进行访问控制。支持多种鉴权方式(如数据库、OpenID、LDAP、OAuth、REMOTE_USER 等)。

源码地址:https://github.com/apache/incubator-superset

搭建

方式一:pip安装

Superset 由 Python 构建,可使用 pip 安装 pip install superset,详细信息请参考官方文档:https://superset.incubator.apache.org

方式二:docker安装

官方文档地址:https://superset.incubator.apache.org/installation.html
只需执行以下几句即可

git clone https://github.com/apache/incubator-superset/
cd incubator-superset/contrib/docker
# prefix with SUPERSET_LOAD_EXAMPLES=yes to load examples:
docker-compose run --rm superset ./docker-init.sh
# you can run this command everytime you need to start superset now:
docker-compose up

案例

#1.安装
# 通过 PyPi 仓库安装 superset
sudo yum upgrade python-setuptools
sudo yum install mysql-devel gcc gcc-c++ gcc-devel libffi-devel python-devel python-pip python-wheel openssl-devel libsasl2-devel openldap-devel
sudo pip install superset mysqlclient

#2.初始化
#创建初始超级用户: admin/123456
fabmanager create-admin --app superset --username admin --password 123456 --firstname admin --lastname admin --email yanjingang@mail.com
#使用默认 sqllite metadata,位于 ~/.superset/superset.db,并根据 migrate 创建表结构
superset db upgrade
#加载 Superset提供的示例数据
superset load_examples
#初始化 role 等
superset init

#3. 启动
superset runserver -d    #-d打开debug 模式;-p指定端口
或
gunicorn -D -w 2 -k gevent --timeout 120 -b  0.0.0.0:8088 --limit-request-line 0 --limit-request-field_size 0 superset:app
-D 后台运行
-w 负载进程数量,通常推荐的worker数量是:(2 x $num_cores) + 1
-k 工作进程类型(gevent是一个基于libev的并发库)
*关闭:pkill gunicorn

#4.访问
http://localhost:8088
admin/123456

#5.创建数据源
点击“数据源 —> 数据库 -> 添加新记录”
SQLAlchemy URI格式为:dialect://user:password@host:port/dbname[?key=value..]
示例:mysql://root:XXXXXXXXXX@127.0.0.1:3306/test?charset=utf8

#6.添加表
点击“数据源 —> 数据表 -> 添加新记录”

#7.创建可视化分析报表
点击“Charts-添加新记录”,选择数据源和表类型后编辑sql和表行业选项并调试即可。
*图标配置方法可参考系统内置的示例报表。

#8.合并多个报表到看板
有时多个报表从不同纬度分析同一个事情,可以在建立报表时选择建到一个看板上,就能在一个页面一起看了。
看板上可以增加filter_box类型的报表做筛选条件(条件不支持设置默认值)。

#9.添加用户/角色/权限

Superset 本身提供了一组基本角色和权限控制:

  • Admin:拥有所有可能的权限,包括从其他用户授予或撤消权限以及更改其他人的切片和 dashboard。
  • Alpha:可以访问所有数据源,但不能授予或撤消其他用户的访问权限。它们也仅限于改变它们拥有的对象。可以添加和更改数据源。
  • Gamma:访问受限,只能使用通过另一个互补角色获得访问权限的数据源。他们只能查看由他们有权访问的数据源制作的切片和 dashboard。无法更改或添加数据源,但可以可以创建切片和 dashboard。
  • sql_lab:被授予对 SQL Lab 的访问权限。
  • public:可以通过在 superset\config.py 设置 PUBLIC_ROLE_LIKE_GAMMA = True,授予该角色与 Gamma 角色相同的权限集。

登录:

在这里插入图片描述
添加数据库:

在这里插入图片描述
编辑报表:

在这里插入图片描述
看板:

在这里插入图片描述

标签:权限,--,数据源,devel,admin,可视化,superset,搭建
来源: https://blog.csdn.net/qq_45066628/article/details/121309896

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有