1、引言

数据可视化是关于数据视觉表现形式的科学技术研究,是指将大型数据集中的数据以图形图像形式表示,并利用数据分析和开发工具发现其中未知信息的处理过程。利用商业性可视化工具有如:Tableau、DataV、FineReport、FineBI等可以简捷灵活地进行数据可视化工作,但是需要收费购买;利用前端可视化组件如:ECharts、D3、Three.js等也可以做出丰富的图表页面,但是要求一定的技术基础。开源可视化分析工具如:Bokeh、Matplotlib、Metabase、Superset等首先是无软件成本的,其次是要考虑它们的便捷性。本文将简要介绍一款轻量级开源可视化BI工具:Superset,其成熟度不如商业可视化工具,但是胜在无软件成本且有一定的灵活性。

2、Superset简介

Superset是一款由Airbnb开源的、目前由Apache孵化的,基于Flask-appbuilder搭建的“现代化的企业级BI(商业智能)Web应用程序”,它通过创建和分享dashboard,为数据分析提供了轻量级的数据查询和可视化方案。

Superset的可取之处有很多如:它自带SQLite数据库并支持连接Hive、Impala、MySql、Oracle等几乎所有主流的数据源;支持和弦图、事件流图、热力图、视图表等及其它常规的可视化展示图表;支持可控的数据展示,能自定义展示字段、数据源等;支持权限控制,以满足不同使用人员对数据和数据库的权限要求;同时内含SQL查询面板模块、具有较美观友好的操作界面等。另外,查阅资料可知Superset可以基于Python的虚拟环境安装或Docker容器安装,经实践建议基于Docker安装,避免因python依赖包的安装遗漏或版本不符等问题造成失败。

3、几种使用场景

Superset是一款自助式的BI工具,可利用于探索式的日常数据分析中,它能够对接常用的大数据分析工具、能够连接主流数据库或直接上传CSV数据文件,内含多类型展示图表样式,使用者通过自定义图表或dashboard可以直观地发现、分析、预警数据中所隐藏的问题,及时应对业务中的风险或发现增长点。

Superset也可利用于数据可视化成果共享,实现团队协同,使用者可将制作好的图表或发布的dashboard可见于团队成员,并通过权限配置控制团队成员对它们的可编辑性,各成员可发挥各自的想法,实现迭代化更新。

另外,Superset具有“SQL Lab”模块,可作为一个数据库管理工具,SQL查询面板可以对已连接的数据源进行数据查询,对数据源进行配置选择后也可实现数据库表的创建、修改和删除,通过该设置可避免对重要数据源的误改、误删。

4、Superset实战入门

在该部分将通过疫情dashboard、企业客户dashboard这两个dashboard实例制作来了解Superset的功能,dashboard的制作可分为四步:连接数据源、添加及设置table、制作charts、制作dashboard;同时可在“SQL Lab”对数据库表的数据进行查询及结果可视化。首先基于Docker在内网环境成功安装了Superset应用,并通过浏览器访问登陆,登陆界面如下:

4.1 连接数据源

按照示例新建数据库、连接数据源,

选择“Sources_Databases”点击“+”按钮添加数据源

填写好Database的基础信息后,点击“Test Connection”,若弹出框显示“Seems OK!”则表示成功连接数据源。其中,Oracle数据源的“SQL Alchemy URL”编辑形式为:“oracle://用户名:密码@ip地址:端口/实例名”,其它数据源URI形式可参考:https://docs.sqlalchemy.org/en/13/core/engines.html#database-urls。

4.2 table添加及设置

成功连接数据源后按以下步骤添加可视化数据tables,

选择“Sources_Tables”点击“+”按钮添加可视化数据表

选择需要的数据库及数据表,点击“Save”按钮进行保存

对添加的table进行基础设置,包括三部分:Details(设置表基础信息);List Columns(设置数据属性,groupable/filterable/istemporal);List mertics(预设数据过滤,sum/count等)

4.3 制作charts

制作疫情情况dashboard的基础是制作一个个的charts图表,

在tables列表中双击要制作chart的表名,进入绘图区域

点击visualization type,在弹出框选择需要可视化的图表类型

对要进行可视化的图表进行参数设置,Time/Metric/filter等,设置好后点击“Save”进行保存,同时页面跳转至charts列表页

点击“View Query”可在弹出框查看可视化数据SQL

做好的chart将依次罗列于charts列表页,在该页双击图表名可跳转至绘图区域,并对已编辑的chart进行修改

4.4 制作dashboard

当制作dashboard的charts准备就绪后,就可以开始制作dashboard,

选择“dashboard”点击“+”按钮添加可视化面板,双击dashboard名进入编辑区域

点击“Edit dashboard → Action”下拉列表选择“Add Slices”即可为面板添加charts素材,各charts组件的大小及位置可以拖动调整,也可对已添加的chart进行更名、强制更新、编辑、重绘图、移除等。Dashboard中的charts添加调整好后点击“Save”进行保存

4.5 SQL查询面板

在Superset的SQL Lab中可以实现对已连接连数据源进行数据查询,同时也可对查询到的结果进行图表展示,

选择“Sources_Databases”进入数据库列表页,选中需要展示在SQL Lab中的数据库,点击编辑图标进入Edit Databases页,将“Expose in SQL Lab、Allow Run Sync”勾选上即可在SQL查询面板对数据库表进行查询,若想对库表进行创建、修改、删除等操作则需选择性的勾选“Allow CREATE TABLES或Allow DML”

选择“SQL Lab_SQL Editor”就可以进入SQL查询页面,在编辑区写好查询sql后点击“Run Query”即显示查询结果

针对查询到的sql结果,点击“Visualize”按钮,在弹出框设置好相应信息后点击弹出框中的“Visualize”按钮即可跳转至绘图页面,随后可基于查询出的数据进行可视化图表制作

4.6 dashboard实例介绍

* 4.6.1 疫情dashboard

2019年12月底在中国武汉发现了首例新冠肺炎,2020年2月中旬全球其它国家相继发现了新冠病例并且其数量呈爆发式增长,疫情dashboard是基于全球新冠疫情数据制作的(19年12月20日-20年7月31日),数据来源于github的一个爬虫项目,它会定期去抓丁香医生的疫情数据信息,包括各国各区域的新冠肺炎的确诊人数、治愈人数和死亡人数。疫情数据文件准备就绪后,按照“四步走步骤”即可制作疫情dashboard。

疫情dashboard包括以下7类图表:

词云图Word Cloud,直观展示各国确诊人数的多少情况数值趋势图Big Number with Trendline,数值直接展示某个时间点的全球确诊、治愈及死亡总人数;同时附带趋势图,可查看各时间的疫情数值情况分布柱形图Distribution-Bar Chart,详细展示某个时间点的各国确诊、治愈及死亡人数,可作横向国家疫情对比时间线性趋势图Time Series-Line Chart,一图展示各时间点的各国确诊人数趋势情况,可做横向国家对比、纵向时间线对比;一图展示各时间点的中国确诊、治愈及死亡人数趋势情况国家地图Country Map,展示某个时间点的中国各省的确诊人数情况强度拉力图Directed Force Layout,展示某个时间点的中国各省各市的确诊人数情况,圆点代表省或市,圆点大小代表该省或市确诊人数的多少太阳图Sunburst,该图包括两个层级维度,直观展示某个时间点的中国各省各市的确诊人数占比及数值情况下图为制作好的疫情dashboard:

* 4.6.2 企业客户dashboard

企业客户dashboard,主要展示各子公司的客户情况,包括:企业客户数、单一企业共同客户数、两家企业共同客户数和客户迁徙数,其分析数据为某企业的5个子企业的半年客户数据(20年6月-20年12月)。同样,数据准备就绪后,按照“四步走步骤”制作企业客户dashboard。

企业客户dashboard包括以下8类图表:

数值趋势图Big Number with Trendline,数值直接展示某个时间点的企业客户总数、单一企业共同客户总数及两家企业共同客户总数;同时附带趋势图,可查看各时间点的客户总数情况双轴线图Dual Axis Line Chart,展示各时间点的企业客户总数及客户总数增量情况饼图Pie Chart,展示某个时间点的各企业客户数及占比情况气泡图Bubble Chart,展示某个时间点的各企业的客户数及其环比增量、环比增幅三者的关系,气泡大小表示各企业的客户数,X轴Y轴分别标识其环比增量和增幅视图表Table View,直接罗列某时间点的各企业客户数情况,另外单元格内的进度条将数值情况更加直观化时间线性趋势图Time Series-Line Chart,一图展示各时间点的各企业客户数趋势情况;一图展示各时间点的单一企业共同客户数趋势情况透视表Pivot Table,一图展示某时间点的两家企业共同客户数情况;一图展示某时间点的企业间客户迁徙(迁入和迁出)情况和弦图Chord Diagram,一图展示企业间的迁入客户情况;一图展示企业间的迁出客户情况下图为制作好的企业客户dashboard:

5、小结

Superset的优点有很多,当然Superset也有不足如:不支持图表的下钻功能、不支持多图表间的复杂联动、处理大数据集效率较低等等。针对其不足,一方面看Airbnb后续是否会优化,另一方面也可以对它进行二次开发。但是Superset只是一款轻量级的BI应用,复杂的数据关联可以在ETL过程中完成,而Superset读取最终的结果表,另外它完全可以支撑起TB级的数据源读取。总而言之,对于个人开发者和中小型团队来说,若要选择一个无软件成本且方便高效的自助式数据分析工具,Superset是个不错的选择。

转自:百度安全验证

Superset-轻量级开源可视化BI工具相关推荐

  1. 如何选择合适的数据可视化BI工具

    在数字化时代,企业需要处理分析的数据日趋繁杂,越来越多的企业正在寻求一款符合自身数据要求的可视化BI工具,但市面上的BI数据可视化分析工具实在太多了,到底该选择哪一款呢? 接下来,我们就来看看企业在选 ...

  2. 基于可视化 BI 工具 DataEase 制作第七次人口普查数据分析大屏

    一.制作第七次人口普查数据大屏的背景介绍: 第七次人口普查刚刚结束,想要制作一个大屏,能够直观的看到人口总数.出生人数.死亡人数等的情况: 希望能够直观的看到人口分布的情况.各种比例.年龄结构等有一定 ...

  3. 数仓第6篇:大数据可视化BI工具

    目录 导读: 开源BI工具 Superset Redash metabase CBoard Davinci SpagoBI Pentaho 商业BI工具 FineBI QlikView Tableau ...

  4. 开源自助BI工具,傻瓜式BI分析,支持多种数据源

    一:业务背景与需求梳理 公司现在的数据需求主要分为两类:临时需求(业务突然想看看这波活动的效果怎样,数据指标的定义可能随时改,随时加),固化需求(每周要看,每月要看的数据,数据的定义已经非常明确).对 ...

  5. 开源可视化分析工具,操作简单使用方便,快来种草

    关注TJ君,回复"武功秘籍"免费获取计算机宝典书籍 马上就要新的2022年啦,TJ君祝大家元旦快乐,2022年大家不要忘记继续关注TJ君哦,TJ君会努力给大家分享好东西让大家继续学 ...

  6. Portia---一款开源可视化爬虫工具

    文介绍Portia的学习使用 背景 由于最近在写一个可供配置的爬虫模板,方便快速扩展新的抓取业务,并且最后目标是将其做成一个可视化的配置服务.还正在进行中,并且有点没有头绪,所以想参考网上现有的轮子, ...

  7. 自助式数据可视化BI工具的代表作云蛛系统的业务覆盖及客户

    对于云蛛系统的了解,很多人已经认识到了这是完全的黑科技产品,竟然能零编码迅速拖拽出来用户想要的功能,而且完全以用户意志为转移的定制化更讨人喜欢,再加上附送源码的特性,更加的让人放心,不仅是产品,连运营 ...

  8. BI工具的优势存在于哪些方面

    BI工具是企业数字化转型的基础,在数字化时代,掌握了数据就是掌握了未来.但仍有很多企业面临数据孤岛问题,苦于面对千万级.上亿级数据难以发挥其价值,环境倒逼企业必须把数字化转型提上日程,在这个过程中,不 ...

  9. 数据可视化分析工具如何在国内弯道超车,迅速崛起?

    什么是数据可视化 数据可视化:Data Visualization,即视觉传达,为了清晰有效地传递信息,数据可视化通过统计图形.图表.信息图表和其他工具,例如点.线或条对数字数据进行编码,以便在视觉上 ...

最新文章

  1. GitHub 上有个沙雕开发者,做了款斗图工具后火了...
  2. 7 Javascript:表单与验证-非空验证
  3. SAP Spartacus B2B 页面 Disable 按钮的显示原理
  4. 概率编程编程_概率编程语言的温和介绍
  5. 正则表达式中的分组的匹配次数的理解
  6. jquery-通过按钮控制模态的显示与隐藏
  7. 机器学习(1)---数据预处理
  8. 视频图像协议接口大全
  9. [linux kernel] 内核下RX8025对接系统时钟
  10. 转载:Transferring Login Credentials Securely
  11. pandas使用to_feather函数将dataframe保存为feather文件(需要依赖pyarrow包)提升大文件读取效率、pandas使用read_feather函数读取feather文件
  12. 【DL】第 6 章:语言建模
  13. python 获取csv的列数_《极限挑战》弹幕及评论情感分析(Python)
  14. C语言源代码系列-管理系统之学生籍贯信息
  15. 关于GPRS(cmnet、cmwap)和CDMA 1X的比较及最优方案
  16. Spring Cloud OAuth2 认证服务器
  17. video标签在谷歌浏览器中隐藏下载/倍速/画中画
  18. python决策树剪枝_决策树及其剪枝原理
  19. 不一样的心情重新出发
  20. 人大计算机应用同等学力申硕,人民大学同等学力申硕

热门文章

  1. 德系车,美系车,日系车都有什么品牌
  2. 2020-11-19百度前端一面 面试题
  3. win10查看局域网内所有IP
  4. 微信API接口目录大全
  5. 计算机对室内设计的作用论文,谈计算机多媒体设计室内设计(毕业论文)
  6. 【零知ESP8266教程】blynk控制RGB LED
  7. 深度学习_深度学习基础知识_PReLU
  8. 霍兰德职业测试皮肤软件,霍兰德职业兴趣测试
  9. 微信公众号-开发相关信息了解
  10. 解决处理虚拟主机中有文件触发了安全防护报警规则,可能存在webshell网页木马...