在我们日常工作中,经常会做一些数据图表数据分析工具、常见就是饼图、柱状、趋势图等.
在前端项目开发中,vue 中集成 echarts、highcharts 等图表库,相关开发也是比较容易.
但是会发现大部分数据统计都是几种重复图表格,无非就是从后端接口把数据解析出来,在前端上展示一下.这有两个问题,重复劳动力、需求不方面改造.
所以我们需要一种能快速生成图表的工具,不需要编写前端代码、随意组合图表数据.
我接触的图表的工具,大概有 grafana、kibana、metabase.grafana 和 kibana 经常用于运维数据统计.
今天我们来重点介绍一下 metabase 是如何玩转数据分析.
官方地址
https://www.metabase.com
metabase 可以帮助你把数据库中的数据更好的呈现给更多人,数据分析人员通过建立一个” 查询 “(Metabase 中定义为 Question)来提炼数据,再通过仪表盘(Dashboards)来组合展示给公司成员
优点:
1.开源免费
2.工具轻量、安装依赖的环境简单、配置简单清楚
3.容易上手,操作门槛低,不会 sql 语句也能使用
4.支持对外共享,权限控制
5.Question 可以便捷地创建图表,Dashboards 界面整洁美观
缺点:
1.Question 每次只能对数据库中的一张表进行查询,切换数据表已有的查询选项会重置
2.填写了 sql 语句的 sql 查询(Native query)模式不能转到点选查询(Custom)模式
3.不能在 Metabase 中自由转换数据表中字段的属性
4.可创建的图表类型较单一
免费 Metabase 是一个免费的开源工具,并且只要你赋予权限的人都可以自由浏览你的 Dashboards.
提供了多种安装方式,jar 包安装、docker 安装、云安装.
metabase 相对需要的机器的内存还是比较高的,如果内存比较低会出现 oom 情况.
wget http://downloads.metabase.com/v0.30.0/metabase.jar
java -version
#启动jar
java -jar metabase.jar
docker 命令
docker run -d -p 3000:3000 --name metabase metabase/metabase
docker run -p 3000:3000 \
-v ~/tools/metabase-data:/metabase-data \
-e "MB_DB_FILE=/metabase-data/metabase.db" \
--name metabase1 metabase/metabase
浏览打开如下地址:
http://127.0.0.1:3000
第一次初始化,需要设置访问密码.
需要设置连接的数据库地址、设置定时扫描数据库配置
完成连接数据库后,展示了所有表名字
在设置中可以添加其他数据连接地址
在首页点击"右上角 创建问题",可以创建一个问题图表
有三种查询方式,简单方式、自定义查询、原生查询
选择连接的数据库地址,支持 mysql、mongo 等数据查询
点击"显示编辑",跳转到筛选页面
聚合选项,选择需要的字段
过滤选项,选择需要的字段值,相当于 mysql 的 where 条件查询
设置完查询条件后,点击查询,默认是按照表格形式展示查询数据
点击左下角的可视化,展示了多种图表方式,饼图、柱状、线段、地图
饼图
柱状
自定义查询提供了类 sql 的表关联查询方式
并且提供了自定义列名的功能
原生查询就是直接输入 mysql 查询语句,如果用 mysql 语句比较熟练,推荐用这种查询方式.
查询完成数据后,需要把问题保存下来,方便以后查看并且可以放到看板中.
看板的是把多种单个查询问题,汇总到一个数据看板中,方便聚合查看.
右上角点击创建仪表盘
默认创建后是空白的
点击加号,把问题放到仪表盘中
比如设备统计看板,能展示"人均持有设备个数"、"分端统计设备"、"分系统设备"
看板也提供了外部连接功能,可以集成到前端代码项目中
比如我们内部的提测平台首页,展示了提测一些基础信息,就是用 metabase 生成数据看板.
其实在我们测试日常工作中,经常有一些数据统计工作,比如版本质量报告、专项测试分析、接口测试监控、自动化执行监控.
当我们工作有一定的量后,需要用科学数据分析的方式,帮我们去量化分析趋势,更好的提升工作效率、保障质量.