对比项目 |
Superset |
Redash |
Metabase |
丰富性、灵活性 |
高 |
中 |
中 |
数据源丰富性 |
低 |
高 |
中 |
美观性 |
中(可自定义) |
高 |
中 |
上手难易程度 |
高 |
低 |
中 |
superset:轻量级BI工具Superset的搭建与使用 - 简书
Metabase:Metabase使用教程 - 知乎
最有名+最灵活:Superset
最易上手:Redash
最贴近应用:Metabase
Superset支持的数据库
Redash支持的数据库:
Metabase支持的数据库:
https://github.com/getredash/redash
打包发布的文件: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
在首次登录的时候,会让你设置一个默认用户,这个用户为管理员用户
随后可以通过自己配置来设置一新的用户:
用户以邮箱为主,通过邮箱登录和验证,自己设置密码。
设置中关于data sources的页面可以配置数据源,可以是特定数据源,地址或者json文件。
在右上角可以点击create进行创建query
可以通过写sql的形式进行数据查询
查询到数据之后我们可以给查询到的数据配置显示view组件
选择x轴和y轴要显示什么,可以简单的配置柱状图和折线图
还有好多别的视图类型:箱型图、线形图、柱状图、面积图、饼图、散点图、队列图、计数器、漏斗图、地图、透视表、桑基图、旭日图(Sunburst)、词云图
保存后,返回上一层页面,我们也可以把配置好的数据query组件或者数据作为其他系统连接使用,或者是导出
嵌入iframe使用
对于数据源数据(表格类型)还提供了地址可以直接输送结果给其他系统:
在右上角的create可以创建
看板主要是为了显示之前配置的query使用的,可以配置多个不同类型的query,进行时间间隔的刷新,达到t+n显示数据的目的
在看板里面可以添加组件了,下面显示的是所有配置出来的query,我们可以选择query进行配置,可以显示query的数据,也可以显示下面配置好的组件
看板配置并且发布之后,是可以设置刷新时间的
还可以直接分享为地址
这里还有一个报警的功能,也是在右上角创建
首先需要先选择一个query,然后配置其中的报警值,就可以实现给默认地址发送邮件
邮件也是可以配置的,需要本地有一个邮件服务器,可以在docker-compose.yml配置文件中加入实现
email: image: djfarrelly/maildev ports: - "1080:80" restart: unless-stopped
作为整个数据收集中心的展示层,一般BI系统都是建立在数据收集的基础之上的,如下图所示,我们需要从生产环境收集我们的必要数据,通过ETL工具导入到我们的大数据环境中进行分布式存储,以便我们进行汇总和查询操作,然后我们需要配置一些汇总或者分析的平台,去操作这些数据,实现我们想要的报表或者想要收集的数据展示。