superset用户使用流程手册
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Superset 的功能介绍
1、我们可以通过连接数据库,去对数据库中的单个表进行配置,展示出柱状图,折线图,
饼图,气泡图,词汇云,数字,环状层次图,有向图,蛇形图,地图,平行坐标,热力图,箱线图,树状图,热力图,水平图等图,官网上
是不可以操作多个表的,不过我们可以操作视图,也就是说在数据库建好视图,也可
以在 superset 中给表新增一列进行展示。
2、配置好了我们想要的图表之后我们可以把它添加到仪盘表进行展示,还可以去配置缓
存,来加速仪盘表的查询,不必要没次都去查询数据库。
3、我们可以查看进行查询表的sql ,也可以把查询导出为json , csv 文件。
它有自己的 sql 编辑器,我们可以在里面来编写sql 。
一、系统基本使用
在使用本系统前,应该先进行账户的建立操作。
1.1 登陆
输入开通的账号、密码点击登录即可。
1.2 新建账号
在登陆时可以使用admin 进行用户的创建。
先登陆 admin 用户,点击界面栏目"安全 " → "用户列表"→,点
击
按钮
在填写完信息后点击保存(注:红色* 的选项未必填项)即可使用新建账号登陆。
在创建账号时,根据使用账号功能需求选择不同的角色属性,每个账号的用户名不能相同。
二、创建数据源
2.1.1 superset 连接 MySQL
登录到部署 superset 主机
1. 进入 superset 的 Web界面,点击 sources 下拉选项的D atabases ,如下图:
2. 进入数据库界面,点击“ +”按钮进入数据库连接界面,填写正确字段后保存,操
作如下:
3.查看已经连接好的数据库
2.1.2 添加数据表
Sources -> Tables
点击加号( +)新增数据表
Database 选择之前创建好的数据源, Table Name 必须是数据源中对应真实的表名,表中必须包含一个 Date 或者 Timestamp 类型的字段
2.1.3 数据表查看、编辑
Sources -> Tables可看到所有已连接的数据表
可对表结构、数据类型、是否可进行group 、 filter 、 count 、 sum、 min 、 max 操作等进行编辑
2.2 数据探索分析与可视化展示
Table 定义好维度字段和指标之后,即可针对该表进行数据探索分析与可视化展示,在Table 页面,点击一个表名,即可进入。
Li st
在分析页面中,可以针对某一个表事先定义的时间字段、维度及指标字段进行数据探索分析,并可以选择相应的图表进行可视化展示。
2.2.1 可视化图表类型选择
选择可视化图表类型。
Superset 自带的图表类型如上,包括柱状图、饼图、时间序列线图、堆积图、图表、热词图等。
2.2.2 数据时间范围选择
选择:
时间所在数据列。
时间粒度,时间跨度
2.2.3 维度展示选择、图表可视化选择
Group by :x 轴统计维度
sum、 avg 等)Metrics : y 轴展示的数据指标(包括
指标的 Sort By:排序依据
可视化选择
配色
图例
是否堆积/分布
⋯⋯
2.2.4 坐标轴编辑
选择 X、 Y 轴数据格式
编辑 X、 Y 轴标签
编辑 Y 轴边界
2.2.5 自定义查询/过滤
自定义 SQL语句
where 、 having 语句、内置 in/ not in 过滤器
2.2.6 查询可视化保存
将查询结果保存为slice
将slice 增加到已有的 dashboard /新增 dashboard 中
2.2.7 Dashboard 编辑
编辑每个 Slice 对应的模块,可以自由拖拽位置和大小,并保存整个Dashboard 的布局。
2.2.8 多表关联查询
在数据表编辑界面,可通过Database Expression,运用 SQL语句实现多表关联查询。
3.Superset 操作数据库
经过上边的步骤就连接上了数据库,下边就可以进行数据的可视化操作了。
首先点击SQL测试下拉菜单下的SQL编辑器按钮。
如下图所示:
SQL语句的执行结果如下:
点击 Visualize 按钮进入数据可视化编辑窗口:
4.superset 部分图形使用案例
4.1 Distribution –Bar Chart(分布 -条形图)
案例需求:统计每个state 的总人数,总女生人数,总男生人数。
SELECT state AS state,
sum(num) AS sum__num,
sum(sum_girls) AS sum__sum_girls,
sum(sum_boys) AS sum__sum_boys
FROM
(select *
from birth_names) AS expr_qry
WHERE ds >= '1917-07-05 18:21:31'
AND ds <= '2017-07-05 18:21:31'
GROUP BY state
ORDER BY sum__num DESC LIMIT 50000
进入可视化界面,可按需求显示图形:
在图形的右上方有对图形的保存等一些操作:
图表的保存:
查看保存的图表:
3.2Table View –表视图
需求 1:根据 name, gender 分组,统计总人数。
SQL:
SELECT name AS name,
gender AS gender,
sum(num) AS sum__num
FROM
(select *
from birth_names) AS expr_qry
WHERE ds >= '1917-07-05 18:24:31'
AND ds <= '2017-07-05 18:24:31'
GROUP BY name,
gender
ORDER BY sum__num DESC LIMIT 50000
3.3Pivot Table –数据透视表
数据透视表(Pivot Table)是一种交互式的表,可以进行某些计算,如求和与计数等。
所进行的计算与数据跟数据透视表中的排列有关。
案例需求:按照name, gender 分组,对每个state 人数进行统计。
SQL:
SELECT gender AS gender,
state AS state,
name AS name,
sum(num) AS sum__num
FROM
(select *
from birth_names) AS expr_qry
WHERE ds >= '1917-07-05 18:25:21'
AND ds <= '2017-07-05 18:25:21'
GROUP BY gender,
state,
name
ORDER BY sum__num DESC LIMIT 50000
3.4Time Series –Line Chart–时序线图
案例需求:查看每个state 人数总数随时间的变化。
SQL:
SELECT state AS state,
ds AS __timestamp,
sum(num) AS sum__num
FROM
(select *
from birth_names) AS expr_qry
INNER JOIN
(SELECT state AS state__,
sum(num) AS sum__num
FROM
from birth_names) AS expr_qry
WHERE ds >= '1917-07-05 18:26:35'
AND ds <= '2017-07-05 18:26:35'
GROUP BY state
ORDER BY sum__num DESC LIMIT 50) AS anon_1 ON state = state__ WHERE
ds >= '1917-07-05 18:26:35'
AND ds <= '2017-07-05 18:26:35'
GROUP BY state,
ds
ORDER BY sum__num DESC LIMIT 50000
3.5Time Series –Stacked –时序面积图
面积图强调数量随时间而变化的程度,也可用于引起人们对总值趋势的注意。
例如,表示随时间而变化的产生的数据可以绘制在面积图中以强调总数据量。
案例需求:根据每个state 每年的总人数的时序图-叠图。
SQL:
SELECT state AS state,
ds AS __timestamp,
sum(num) AS sum__num
FROM
from birth_names) AS expr_qry
INNER JOIN
(SELECT state AS state__,
sum(num) AS sum__num
FROM
(select *
from birth_names) AS expr_qry
WHERE ds >= '1917-07-05 18:27:06'
AND ds <= '2017-07-05 18:27:06'
GROUP BY state
ORDER BY sum__num DESC LIMIT 50) AS anon_1 ON state = state__ WHERE ds >= '1917-07-05 18:27:06'
AND ds <= '2017-07-05 18:27:06'
GROUP BY state,ds
ORDER BY sum__num DESC LIMIT 50000
3.6Time Series –Bar Chart –时序柱形图
案例需求:比较不同的年份每个state 的人数差异的时序柱形图。
SQL:
SELECT state AS state,
ds AS __timestamp,
sum(num) AS sum__num
FROM
(select *
from birth_names) AS expr_qry
INNER JOIN
(SELECT state AS state__,
sum(num) AS sum__num
FROM
(select *
from birth_names) AS expr_qry
WHERE state NOT IN ('other')
AND ds >= '1917-07-05 18:28:57'
AND ds <= '2017-07-05 18:28:57'
GROUP BY state
ORDER BY sum__num DESC LIMIT 50) AS anon_1 ON state = state__ WHERE ds >= '1917-07-05 18:28:57'
AND ds <= '2017-07-05 18:28:57'
AND state NOT IN ('other')
GROUP BY state,
ds
ORDER BY sum__num DESC LIMIT 50000
3.7Distribution –NVD3 - Pie Chart –饼图
案例:比较每个state 的人数占总人数的比例。
SQL:
SELECT state AS state,
sum(num) AS sum__num
FROM
(select *
from birth_names) AS expr_qry
WHERE ds >= '1917-07-05 18:29:51'
AND ds <= '2017-07-05 18:29:51'
AND state NOT IN ('other')
GROUP BY state
ORDER BY sum__num DESC LIMIT 50000
3.8Bubble Chart –气泡图
SQL语句:
SELECT country_name AS country_name,
region AS region,
SUM(`SP_POP_TOTL`) AS `sum__SP_POP_TOTL`,
SUM(`SP_RUR_TOTL_ZS`) AS `sum__SP_RUR_TOTL_ZS`,
SUM(`SP_DYN_LE00_IN`) AS `sum__SP_DYN_LE00_IN`
FROM wb_health_population
WHERE year >= STR_TO_DATE('2011-01-01 00:00:00', '%%Y-
%%m-%%d %%H:%%i:%%s')
AND year <= STR_TO_DATE('2011-01-02 00:00:00', '%%Y-
%%m-%%d %%H:%%i:%%s')
AND country_code NOT IN ('TCA', 'MNP', 'DMA', 'MHL', 'MCO', 'SXM', 'CYM', 'TUV', 'IMY', 'KNA', 'ASM', 'ADO', 'AMA', 'PLW')
GROUP BY country_name,
region
ORDER BY `sum__SP_POP_TOTL` DESC LIMIT 50000
3.9MarKup –标记图
4.10 Word Clould –文字云
案例需求:显示所有的name,且看到使用这个名字的人数比重。
SQL语句:
SELECT name AS name,
sum(num) AS sum__num
FROM
(select *
from birth_names) AS expr_qry
WHERE ds >= '1917-07-05 17:39:23'
AND ds <= '2017-07-05 17:39:23'
GROUP BY name
ORDER BY sum__num DESC LIMIT 50000
3.10 Sunburst –旭日图
案例需求:第一层gender,第二层 name,统计人数。
SQL:
SELECT gender AS gender,
name AS name,
sum(num) AS sum__num,
sum(num) AS sum__num
FROM
(select *
from birth_names) AS expr_qry
WHERE ds >= '1917-07-05 17:56:35'
AND ds <= '2017-07-05 17:56:35'
GROUP BY gender,
name
ORDER BY sum__num DESC LIMIT 50000
3.11 Parallel Coordinates–平行坐标图
平行坐标图为一种数据可视化的方式。
以多个垂直平行的坐标轴表示多个维度,以维度上的刻度表示在该属性上对应值,以颜色区分类别。
每个样本在各个维度上对应一个值,相连而得的一个折线表示该样本。
SQL:
SELECT country_name AS country_name,
SUM(`SP_POP_TOTL`) AS `sum__SP_POP_TOTL`,
SUM(`SP_RUR_TOTL_ZS`) AS `sum__SP_RUR_TOTL_ZS`,
SUM(`SH_DYN_AIDS`) AS `sum__SH_DYN_AIDS`,
AVG(`NY_GNP_PCAP_CD`) AS `avg__NY_GNP_PCAP_CD`
FROM wb_health_population
WHERE year >= STR_TO_DATE('2011-01-01 00:00:00', '%%Y-
%%m-%%d %%H:%%i:%%s')
AND year <= STR_TO_DATE('2011-01-01 00:00:00', '%%Y-
%%m-%%d %%H:%%i:%%s')
GROUP BY country_name
ORDER BY `sum__SP_POP_TOTL` DESC LIMIT 50000
3.12 Box plot –盒图
盒图 (boxplot) :摆弄数据离散度的一种图形。
它对于显示数据的离散的分布情况效果不错。
在软件工程中, Nassi 和 Shneiderman 提出了一种符合结构化程序设计原则的图形描述工具,叫做盒图,也被称为 N-S 图。
SQL:
SELECT region AS region,
year AS __timestamp,
SUM(`SP_POP_TOTL`) AS `sum__SP_POP_TOTL`
FROM wb_health_population
INNER JOIN
(SELECT region AS region__,
SUM(`SP_POP_TOTL`) AS `sum__SP_POP_TOTL`
FROM wb_health_population
WHERE year >= STR_TO_DATE('1960-01-01 00:00:00', '%%Y-
%%m-%%d %%H:%%i:%%s')
AND year <= STR_TO_DATE('2017-07-11 09:46:33', '%%Y-
%%m-%%d %%H:%%i:%%s')
GROUP BY region
ORDER BY `sum__SP_POP_TOTL` DESC LIMIT 25) AS anon_1 ON region = region__ WHERE year >= STR_TO_DATE('1960-01-01 00:00:00', '%%Y-
%%m-%%d %%H:%%i:%%s')
AND year <= STR_TO_DATE('2017-07-11 09:46:33', '%%Y-
%%m-%%d %%H:%%i:%%s')
GROUP BY region,
year
ORDER BY `sum__SP_POP_TOTL` DESC LIMIT 50000。