一、介绍

1、同类品对比

对比项目

Superset

Redash

Metabase

丰富性、灵活性

数据源丰富性

美观性

中(可自定义)

上手难易程度

superset:轻量级BI工具Superset的搭建与使用 - 简书

Metabase:Metabase使用教程 - 知乎

最有名+最灵活:Superset

最易上手:Redash

最贴近应用:Metabase

Superset支持的数据库

python Sankey桑基图红蓝绿黄颜色设置_redash

Redash支持的数据库:

python Sankey桑基图红蓝绿黄颜色设置_redis_02

Metabase支持的数据库:

python Sankey桑基图红蓝绿黄颜色设置_docker_03

二、部署

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、设置用户

在首次登录的时候,会让你设置一个默认用户,这个用户为管理员用户

随后可以通过自己配置来设置一新的用户:

python Sankey桑基图红蓝绿黄颜色设置_redis_04

用户以邮箱为主,通过邮箱登录和验证,自己设置密码。

2、配置数据源

python Sankey桑基图红蓝绿黄颜色设置_big data_05

设置中关于data sources的页面可以配置数据源,可以是特定数据源,地址或者json文件。

3、配置查询(query)

在右上角可以点击create进行创建query

python Sankey桑基图红蓝绿黄颜色设置_redis_06

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

python Sankey桑基图红蓝绿黄颜色设置_redis_07

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

python Sankey桑基图红蓝绿黄颜色设置_数据_08

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

python Sankey桑基图红蓝绿黄颜色设置_big data_09

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

python Sankey桑基图红蓝绿黄颜色设置_数据_10

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

python Sankey桑基图红蓝绿黄颜色设置_redash_11

嵌入iframe使用

python Sankey桑基图红蓝绿黄颜色设置_docker_12

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

python Sankey桑基图红蓝绿黄颜色设置_数据_13

4、创建面板(dashboard)

在右上角的create可以创建

python Sankey桑基图红蓝绿黄颜色设置_big data_14

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

python Sankey桑基图红蓝绿黄颜色设置_big data_15

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

python Sankey桑基图红蓝绿黄颜色设置_redis_16

python Sankey桑基图红蓝绿黄颜色设置_数据_17

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

python Sankey桑基图红蓝绿黄颜色设置_docker_18

还可以直接分享为地址

python Sankey桑基图红蓝绿黄颜色设置_big data_19

5、设置报警

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

python Sankey桑基图红蓝绿黄颜色设置_redash_20

首先需要先选择一个query,然后配置其中的报警值,就可以实现给默认地址发送邮件

邮件也是可以配置的,需要本地有一个邮件服务器,可以在docker-compose.yml配置文件中加入实现


email: image: djfarrelly/maildev ports: - "1080:80" restart: unless-stopped


python Sankey桑基图红蓝绿黄颜色设置_big data_21

应用框架:

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

python Sankey桑基图红蓝绿黄颜色设置_big data_22