开源BI框架对比选择 Superset-Redash-Metabase

开源BI框架,我是从 数据可视化的开源方案: Superset vs Redash vs Metabase 了解到主流的三家Superset-Redash-Metabase。并且文章里面也有介绍对应的框架选择、图表丰富度等介绍。但是,时间过去一年多,redash已经投入databricks的怀抱,个人感觉它是要把大数据BI这一端给完全抢占了;另外有一些情况的变化我也会重新做一下对比,需要说明,我这边仅是从使用角度选择,不包括二次开发。如果是二次开发,那就看技术栈和框架选择,结合Redash并入databricks,毫无疑问选Redash。

下面是三家的一些网址:

Superset
https://github.com/apache/incubator-superset/pulse/monthly
http://superset.apache.org/

Redash
https://github.com/getredash/redash/pulse/monthly
https://redash.io/

Metabse
https://github.com/metabase/metabase/pulse/monthly
https://www.metabase.com/

1、活跃度对比

以下顺序为Superset-Redash-Metabase,毫无疑问,Superset碾压,后面两个基本打平,Metabase略优。

2、安装难易度

2.1 Superset

总体来说,安装难度不大:

创建一个python虚拟环境

virtualenv --no-site-packages superset
source superset/bin/activate

安装依赖,非常多,一定要用 requirements.txt,而且还会有漏网之鱼。

pip install superset -i https://pypi.douban.com/simple

superset db upgrade

导入示例数据

superset load_examples

创建admin账户

superset fab create-admin
superset init
superset run

需要注意,默认是127.0.0.1地址,我直接将环境下flask的cli.py改成了0.0.0.0。

2.2 Redash

看起来最容易的就是docker安装,但是镜像下载比较蛋疼,虽然我已经设置了国内源。docker部署说明

实际操作因为集群npm太久了,但是没有权限,没有装成功,只能用已有的镜像安装。下面是4个容器启动的 docker-compose.yml文件,注意 先docker-compose up -d,后 docker-compose run --rm server create_db,不知为何,先创建数据库,或导致 postgres不能开启端口。

还要注意 windows docker 默认端口问题,http://192.168.99.100:5000/。

version: '2'
services:
  server:
    image: redash/redash:8.0.0.b32245
    command: server
    depends_on:
      - postgres
      - redis
    ports:
      - "5000:5000"
    environment:
      PYTHONUNBUFFERED: 0
      REDASH_LOG_LEVEL: "INFO"
      REDASH_REDIS_URL: "redis://redis:6379/0"
      REDASH_DATABASE_URL: "postgresql://postgres@postgres/postgres"
      REDASH_RATELIMIT_ENABLED: "false"
    restart: always
  worker:
    image: redash/redash:8.0.0.b32245
    command: scheduler
    environment:
      PYTHONUNBUFFERED: 0
      REDASH_LOG_LEVEL: "INFO"
      REDASH_REDIS_URL: "redis://redis:6379/0"
      REDASH_DATABASE_URL: "postgresql://postgres@postgres/postgres"
      QUEUES: "queries,scheduled_queries,celery"
      WORKERS_COUNT: 2
    restart: always
  redis:
    image: redis:3-alpine
    restart: always
  postgres:
    image: postgres:11
    ports:
      - "5432:5432"
    command: "postgres -c fsync=off -c full_page_writes=off -c synchronous_commit=OFF"
    restart: always
    environment:
      POSTGRES_HOST_AUTH_METHOD: "trust"

2.3 Metabase

最简单,因为是基于JVM的语言写的,所以就一个jar包。

首先要安装java,这个一般都有。然后下载jar包,就直接命令启动了。

java -jar metabase.jar

3、使用体验

使用测试数据都是某个项目的DW/DM层数据。

3.1 Superset

1、目标用户肯定不是技术人员,基本操作逻辑就是客户探索数据,按照预定义的图表逻辑制作对应图表。说实话,功能挺丰富和全面,没有SQL照样可以做出不错的图表。另外,它的图表确实很炫酷,Demo很漂亮,对地理空间数据支持度很高。


2、使用起来感觉就是不得要领,还有稍微繁琐:首先我要创建数据源、然后注册一个数据表、之后就可以创建一张图了、最后汇总到一张仪表盘。

不得要领是最主要的问题,因为所有图表都是按产品逻辑预定义好的,与我的想法不一样,我也没心情去找说明(说明文档没有相关内容)或者慢慢学习。

比如柱状图的,默认就是统计总数,另外我想做时间序列的图时,由于我将时间格式转为字符串,然后这个就没有办法了。(以下是失败案例。。。)

3、汉化:部分汉化,有语言选择,但是汉化比例不高,另外数据会乱码。

4、总的来说,就是适合非技术人员直接对原数据的探索与BI制作,但是首先需要一定学习成本,对每一种图的逻辑都需要有所了解。另外使用起来有点延时。

3.2 Redash

1、目标用户技术人员,或者起码要会SQL。产品使用逻辑就很简单,总共3个功能:查询、仪表盘、预警。基本操作是创建一个查询,由这个查询选择字段创建图表,可以有多个。仪表盘就是插入一个个图表或文字。另外还有一个功能,预警,就是定时监测某个值,设定阈值,发邮件。

下面图片为查询:

预警:

2、最大优势就是支持数据源多,46种。另外看起来前端图表做个UI美化,比之前版本好多了;对图表的操作也比较丰富,可以移位、放大、缩小、框选、套索选择等。下图展示的是框选。

3、汉化:没有。

4、总的来说,就是专注做一件事,适合技术人员直接对原数据的进行查询制作图表,使用起来也又比较顺畅。另外是单页面应用,

3.3 Metabase

Metabase 感觉是个旗舰产品。

1、目标用户基本是想涵盖所有想用BI的用户。

2、产品页面设计非常简洁而且符合逻辑和习惯。
下图中,右上角就是两大模块,浏览数据就像dba工具一样,当然不懂SQL也可以操作,也可以使用SQL。

创建问题就是图表制作,左侧图表设置,右侧数据筛选、聚合,中间按钮随时切换 图表/原数据,产品设计非常好,而且整体使用非常流畅。

非常轻松用同样的数据制作图表,格式为字符的字段在superset无能为力,这里自动转了时间。

3、汉化:全部汉化。

4、总的来说,产品制作精良,追求卓越,适合所有BI参与者。 

4、结论

虽然Superset最热,但是我最不看好它。如果是给客户使用,那么最好选Metabase,因为汉化和交互良好。如果是数据技术团队使用,那么就用Redash,特别是大数据。

转自:开源BI框架对比选择 Superset-Redash-Metabase_superset redash metabase_偲偲粑的博客-CSDN博客

猜你喜欢

转载自blog.csdn.net/fuhanghang/article/details/132302663