Apache Superset功能介绍

大家好,欢迎来到本篇博客,博主是一名刚入大数据行业的小白,利用空闲的时间来分享自己所学的知识,帮助和博主一样刚处于起步阶段的同学,水平不高,若有什么错误和纰漏之处恳请大佬不吝赐教,目前个人博客只有CSDN:https://zhenyu.blog.csdn.net/,感谢大家的支持,谢谢
送给大家一句话:今日事,今日毕

本篇博客主要讲解:Superset功能介绍

功能介绍

Superset功能介绍

  • 用户权限
  • Sources
  • Manage
  • Charts
  • Dashboards
  • SQL Lab

Superset实战 - MySQL订单分析案例

Superset Charts图表展示实战

根据日期统计,每日订单总额(趋势图)

每日订单总额(趋势图)
Apache Superset功能介绍
select 
	str_to_date(date1,'%Y-%m-%d') date1,
	sum(price) total_price
from
	dm_sales
group by date1;

根据日期、渠道统计订单总额(Sunburst Chart)

select
	date1,
	channelname,
	sum(price) total_price
from
	dm_sales
group by 
	date1,
	channelname
双环图
Apache Superset功能介绍

根据日期、区域统计订单总额(数据透视表)

select
	str_to_date(date1,'%Y-%m-%d') date1,
	regionname,
	sum(amount) as total_amount,
	sum(price) as total_price
from
	dm_sales
group by
	date1,
	regionname
数据透视表
Apache Superset功能介绍

根据日期、区域、渠道、产品统计订单数、订单总额(层级环图)

select
	date1,
	regionname,
	channelname,
	productname,
	sum(price) as total_price
from
	dm_sales
group by
	date1,
	regionname,
	channelname,
	productname
层级环图
Apache Superset功能介绍

Superset Dashboards看板展示实战

将之前设计好的图标整合到看板中
操作步骤:

  1. 点击 Dashboards > 添加看板

  2. 拖动之前开发好的 Charts 到看板中

拖动开发好的 Charts 到看板中
Apache Superset功能介绍

Superset权限控制

Superset初始化权限之后,创建5个角色,分别为Admin,Alpha,Gamma,sql_lab以及Public。Admin,Alpha和Gamma角色,分配了很多的菜单/视图权限,如果手工去修改,改错的可能性很大,加之Superset并没有说明每一项权限的完整文档,所以不建议去修改这些角色的定义。灵活使用预置的角色,可以快速满足业务上安全控制需求。

角色权限介绍

  • Admin:拥有所有权限

  • Alpha:能访问所有数据源,增加或者更改数据源,但不能给更改其他用户权限。

  • Gamma:必须结合其他能访问数据源的角色才能访问数据。这个角色所能访问的切片和看板,也是基于能访问数据源所创建的切片和看板。

  • sql_lab:能访问SQL Lab菜单。

  • Public:默认没有任何权限

匿名访问

所有用户都能访问某一个看板,需要进行如下设置 :

  1. 更改config.py文件,设置如下部分,PUBLIC_ROLE_LIKE_GAMMA = True
vim /export/servers/anaconda3/lib/python3.7/site-packages/superset/config.py
  1. 需要运行superset init命令,这个命令会给“Public”角色设置与“Gamma”一样的权限
superset init
  1. 将匿名用户所需要访问的数据库和数据源分配给“Public”角色。例如,基于superset_demo数据库的grade_test创建了看板,如果匿名用户需要查看这个看板,那将如下权限分配给“Public”
  • all database access on all_database_access
  • all datasource access on all_datasource_access
分配权限
Apache Superset功能介绍
  • 删除一些菜单权限
删除一些菜单权限
Apache Superset功能介绍

分享页面或者嵌入html

Apache Superset功能介绍
html页面:

<html>
<head>
<title>dashboard</title>
</head>
<body>
    <div class="dashboard">
       <!-- <iframe src="http://node3:8080/superset/dashboard/7/"  style="height=100%; width=100%" ></iframe > -->
		
		<iframe name="myframe" src="http://node3:8080/r/10" frameborder="0" scrolling="auto" width="100%" height="100%" onl oad="document.all['myframe'].style.height=myframe.document.body.scrollHeight" ></iframe>
    </div>
	</body>
</html>

角色介绍

实际业务中,不同的职能部门访问的数据不一样,例如财务部需要访问成本,应收,应付等数据,供应链需要访问库存数量,发货数据等,怎样简洁的设置,快速满足这种业务需求?

如前文所述,“Gamma”拥有大部分基础的权限,但是必须结合其他能访问数据源的角色才能访问数据。所以,可以给用户分配“Gamma”角色和针对部门分别创建的数据源角色来进行控制。

例如,针对财务用户,创建角色“Finance”,将成本,应收,应付的数据表权限赋予这个角色,财务用户就分配“Gamma”和“Finance”。

针对供应链用户,创建角色“SCM”,将库存和发货数据表权限赋予这个角色,供应链用户就配“Gamma”和“SCM”。

如果是公司的霸道总裁,需要看所有的看板,就可以给霸道总裁赋予“Gamma”和“Finance”,“SCM”角色。

角色介绍
Apache Superset功能介绍

我们创建2个角色,分别是main角色可以查看访问main的数据,

examples角色可以查看和访问 examples 数据源

1.创建 main 角色

  • database access on [main] 拥有访问 main 数据库的权限
  • datasource access on [main] 拥有访问main 数据源的权限
  • can dashboard on Superset 拥有访问 main 数据源创建的 dashboard的权限
main分配权限
Apache Superset功能介绍
  1. 创建examples角色
  • database access on [examples] 拥有访问 examples数据库的权限
  • datasource access on [examples] 拥有访问examples数据源的权限
  • can dashboard on Superset 拥有访问 examples数据源创建的 dashboard的权限
example分配权限
Apache Superset功能介绍

3.创建用户

  • main_user: 关联gamma、sqllab与main角色;
main_user: 关联gamma、sqllab与main角色;
Apache Superset功能介绍
  • examples_user: 关联gamma、sqllab与examples角色;
examples_user: 关联gamma、sqllab与examples角色
Apache Superset功能介绍

用不同的用户登录查看每个用户具有的table,以及能查看到的dashboard!!

小结

--------
感谢大家的支持,若有什么不正确的地方还请大家能及时的反馈,记得点赞收藏支持一下!Apache Superset功能介绍

上一篇:Superset部署


下一篇:Superset操作指南