一个开源免费高颜值的轻量级商业智能BI平台Superset 介绍

liftword3个月前 (02-26)技术文章18

传统的企业信息化,一般分为三个发展阶段:手工-》系统化(电子化),系统化-》跨系统集成整合(消除信息孤岛,形成一个整体),集成整合-》决策支持(面向中高层领导进行数据分析)即可称商务智能或商业智能领域(简称BI)。商业BI工具或平台已发展很多年了,各相关功能都比较完善,比如Power BI、Tableau、DataV、FineReport、FineBI等,但这些商业BI工具或平台都是收费的,如果使用则需要购买许可,对于中小型企业来说是一笔高昂的成本费用,使用起来门槛也较高,一般需要专业的IT人员进行开发,开发测试上线再交付用户进行使用,这样周期长成本较高。

那有没有一个功能相对比较完善的开源免费的BI工具或平台呢?开源可视化分析工具如:Bokeh、Matplotlib、Metabase、Superset等首先是无软件成本的,其次还要考虑它们的便捷性。本文就给大家介绍一个开源免费高颜值的轻量级BI平台:Superset,虽然它成熟度不如商业可视化工具,但是胜在无软件成本且有一定的灵活性,不限用户数且可进行二次开发,可以满足企业绝大多数的应用场景。目前它在apache评分已超过42.6k可见非常流行和热门

那什么是Superset呢?Superset是Airbnb(知名在线房屋短租公司)开源的数据探查与可视化平台(曾用名Panoramix、Caravel),该工具在可视化、易用性和交互性上非常有特色,用户可以轻松对数据进行可视化分析Superset 也是一款企业级商业智能 Web 应用程序。Superset已捐赠给Apache软件基金会,还处于孵化阶段。Superset第一个版本为0.20,是基于python 2基础上构建,目前最新稳定版本为1.3.2是基于python 3构建的,发行测试版本为1.4RC,Superset官网地址:
https://superset.apache.org/
如下图:

Apache Superset 主要功能如下:

1.丰富的数据可视化集

2.易于使用的界面,用于探索和可视化数据

3.创建和共享仪表板

4.与主要身份验证提供程序(数据库,OpenID,LDAP,通过 Flask AppBuilder 的 OAuth 和 REMOTE_USER)集成的企业级身份验证

5.一种可扩展的,高粒度的安全/权限模型,对于可以访问个人特征和数据集的用户允许使用复杂的规则

6.一个简单的语义层,允许用户通过定义哪些字段应显示在哪个下拉列表以及哪些聚合和功能度量标准可供用户使用来控制数据源在 UI 中的显示方式

7.通过 SQLAlchemy 与大多数 SQL 的 RDBMS 集成

Superset有很多优点,比如:它自带SQLite数据库并支持连接Hive、Impala、MySql、Postgresql、SqlServer、Oracle等几乎所有主流的数据源;支持和弦图、事件流图、热力图、视图表等及其它常规的可视化展示图表;支持可控的数据展示,能自定义展示字段、数据源等;支持权限控制,以满足不同使用人员对数据和数据库的权限要求;同时内含SQL查询面板模块、具有较美观友好的操作界面等。

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

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

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

SQLite是Superset默认自带的数据库,如果需要访问其他类型的数据,则需要安装对应的数据库驱动,绝大多数主流数据库都支持,比如clickhouse、sap hana等,具体如下图:

Superset的demo的一些看板和图表的效果,具体如下图:

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

如果您喜欢这篇文章,请关注我,收藏、点赞、评论和转发,会让更多需要帮助的人看到这篇文章。举手之劳,善莫大焉!

相关文章

三分钟掌握Python 中最常用的 10 种 Set 方法

Python 中的集合至关重要,也是 Python 中最常用的内置数据类型之一。集合具有一些主要属性。集合中的元素必须是唯一的。套装中不允许有重复项。它们是无序的设置项目不可更改,但您可以删除和添加新...

神奇的 Python set():如何让重复元素无处可藏

前言如果你还没认真研究过 Python 中的集合(set)类型,那你可真是错失了一项神器!集合不仅能让你的代码变得更高效,还能避免一堆重复数据让你头疼。每当你用 Python 编程时,数据就像是无序的...

Python集合类型Set详细总结_python里面集合

(一)Python集合数据类型Set总结-1 1、set特点set 可以过滤重复元素,本身是无序的(元素顺序是混乱的)不重复的示例-1:set = {1,2,2,3,4,4,5,6,7,7}#输出se...

Python set_python set和list的区别

Python 也包含有 集合 类型。集合是由不重复元素组成的无序的集。它的基本用法包括成员检测和消除重复元素。集合对象也支持像 联合,交集,差集,对称差分等数学运算。集合结构如下:set1 = {'h...

Python基础篇(三)dict和set类型_python dicts

dict一、dict的定义dict即字典,相当于golang中的map类型,key-value型.具有极快的查找速度.由于dict中key的值是唯一的,因此如果多次赋值,最终结果为最后一次的赋值.二、...

python之list(set())函数_python的list函数

list(set())函数:对原列表去重并按从小到大排序list(set(a))方法set(a)将列表a转换为集合,集合是一个包含不重复元素的无序序列,然后再使用list将集合转换为列表。若要实现不改...