一、介绍
1、同类品对比
| 对比项目 | Superset | Redash | Metabase |
| 丰富性、灵活性 | 高 | 中 | 中 |
| 数据源丰富性 | 低 | 高 | 中 |
| 美观性 | 中(可自定义) | 高 | 中 |
| 上手难易程度 | 高 | 低 | 中 |
superset:轻量级BI工具Superset的搭建与使用 - 简书
Metabase:Metabase使用教程 - 知乎
最有名+最灵活:Superset
最易上手:Redash
最贴近应用:Metabase
Superset支持的数据库

Redash支持的数据库:

Metabase支持的数据库:

二、部署
1、官方地址
https://github.com/getredash/redash
2、使用docker-compose配置
打包发布的文件:docker-compose.yml
version: '2'
services:
server:
#image: redash/redash:latest # 官方版本升级后不好用了,替换为我保持的版本
image: cbbing/redash:4.0.1
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_COOKIE_SECRET: "Q422k6vaXUk8"
REDASH_WEB_WORKERS: 4
restart: always
worker:
image: cbbing/redash:4.0.1
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.0-alpine
ports:
- "6379:6379"
volumes:
- ./data/redis_data:/data
restart: always
postgres:
image: postgres:9.5.6-alpine
ports:
- "5432:5432"
volumes:
- ./data/postgresql_data:/var/lib/postgresql/data
restart: always
nginx:
image: redash/nginx:latest
ports:
- "88:80"
depends_on:
- server
links:
- server:redash
restart: always
运行之前首先初始化数据库:
docker-compose run --rm server create_db
然后挂在在后台运行:
docker-compose up -d
三、使用
1、设置用户
在首次登录的时候,会让你设置一个默认用户,这个用户为管理员用户
随后可以通过自己配置来设置一新的用户:

用户以邮箱为主,通过邮箱登录和验证,自己设置密码。
2、配置数据源

设置中关于data sources的页面可以配置数据源,可以是特定数据源,地址或者json文件。
3、配置查询(query)
在右上角可以点击create进行创建query

可以通过写sql的形式进行数据查询

查询到数据之后我们可以给查询到的数据配置显示view组件

选择x轴和y轴要显示什么,可以简单的配置柱状图和折线图

还有好多别的视图类型:箱型图、线形图、柱状图、面积图、饼图、散点图、队列图、计数器、漏斗图、地图、透视表、桑基图、旭日图(Sunburst)、词云图

保存后,返回上一层页面,我们也可以把配置好的数据query组件或者数据作为其他系统连接使用,或者是导出

嵌入iframe使用

对于数据源数据(表格类型)还提供了地址可以直接输送结果给其他系统:

4、创建面板(dashboard)
在右上角的create可以创建

看板主要是为了显示之前配置的query使用的,可以配置多个不同类型的query,进行时间间隔的刷新,达到t+n显示数据的目的

在看板里面可以添加组件了,下面显示的是所有配置出来的query,我们可以选择query进行配置,可以显示query的数据,也可以显示下面配置好的组件


看板配置并且发布之后,是可以设置刷新时间的

还可以直接分享为地址

5、设置报警
这里还有一个报警的功能,也是在右上角创建

首先需要先选择一个query,然后配置其中的报警值,就可以实现给默认地址发送邮件
邮件也是可以配置的,需要本地有一个邮件服务器,可以在docker-compose.yml配置文件中加入实现
email:
image: djfarrelly/maildev
ports:
- "1080:80"
restart: unless-stopped

应用框架:
作为整个数据收集中心的展示层,一般BI系统都是建立在数据收集的基础之上的,如下图所示,我们需要从生产环境收集我们的必要数据,通过ETL工具导入到我们的大数据环境中进行分布式存储,以便我们进行汇总和查询操作,然后我们需要配置一些汇总或者分析的平台,去操作这些数据,实现我们想要的报表或者想要收集的数据展示。











